Scroll to navigation

RtlAllocateHandle(3w) Wine API 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".
Oct 2012 Wine API