Reference

RtlAllocateHandle(3w)

NAME

RtlAllocateHandle (NTDLL.@)

SYNOPSIS

RTL_HANDLE * RtlAllocateHandle
(
RTL_HANDLE_TABLE* HandleTable,
ULONG* HandleIndex
)

DESCRIPTION

Allocates a handle from the handle table.

PARAMS

HandleTable [In/Out] The handle table.

HandleIndex [Out] Index of the handle returned. Optional.

RETURNS

Success: Pointer to allocated handle.

Failure: NULL.

NOTES

A valid handle must have the bit set as indicated in the code below otherwise subsequent RtlIsValidHandle(3w) calls will fail.

static inline void RtlpMakeHandleAllocated(RTL_HANDLE * Handle) { ULONG_PTR *AllocatedBit = (ULONG_PTR *)(&Handle->Next); *AllocatedBit = *AllocatedBit | 1; }.

SEE

RtlFreeHandle().

IMPLEMENTATION

Declared in "winternl.h".

Implemented in "dlls/ntdll/handletable.c".

Debug channel "ntdll".

History