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 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 "include/winternl.h". gitlab.winehq.org/wine/wine/blob/master/include/winternl.h

Implemented in "dlls/ntdll/handletable.c". gitlab.winehq.org/wine/wine/blob/master/dlls/ntdll/handletable.c

Debug channel "ntdll".


Copyright © 2024 The Wine Project. All trademarks are the property of their respective owners. Visit WineHQ for license details. Generated Nov 2024.