RtlAllocateHandle.3w

Langue: en

Version: Jun 2009 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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

Defined in "winternl.h".

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

Debug channel "ntdll".