Compartir a través de


Función RtlInitializeBitMap (wdm.h)

La rutina RtlInitializeBitMap inicializa el encabezado de una variable de mapa de bits.

Sintaxis

NTSYSAPI VOID RtlInitializeBitMap(
  [out] PRTL_BITMAP             BitMapHeader,
  [in]  __drv_aliasesMem PULONG BitMapBuffer,
  [in]  ULONG                   SizeOfBitMap
);

Parámetros

[out] BitMapHeader

Puntero a una estructura de RTL_BITMAP vacía.

[in] BitMapBuffer

Puntero a la memoria asignada por el autor de la llamada para el propio mapa de bits. La dirección base de este búfer debe estar alineada con ULONG. El tamaño del búfer asignado debe ser un entero múltiplo de bytes sizeof(ULONG).

[in] SizeOfBitMap

Especifica el número de bits del mapa de bits. Este valor puede ser cualquier número de bits que caben en el búfer asignado para el mapa de bits.

Valor devuelto

None

Observaciones

Un controlador puede usar una variable de mapa de bits como una manera económica de realizar un seguimiento de un conjunto de elementos reutilizables. Por ejemplo, los sistemas de archivos usan una variable de mapa de bits para realizar un seguimiento de qué clústeres o sectores de un disco ya se han asignado para contener datos de archivo. El controlador de puerto SCSI proporcionado por el sistema usa una variable de mapa de bits para realizar un seguimiento de las etiquetas de cola que se han asignado a los bloques de solicitud SCSI (SRB).

Se debe llamar a RtlInitializeBitMap antes de cualquier otra rutina RtlXxx que funcione en una variable de mapa de bits. El puntero BitMapHeader es un parámetro de entrada en todas las llamadas RtlXxx posteriores que operan en la variable de mapa de bits del autor de la llamada en BitMapBuffer. El autor de la llamada es responsable de sincronizar el acceso a la variable de mapa de bits.

RtlInitializeBitMap inicializa la estructura de RTL_BITMAP proporcionada por el autor de la llamada copiando los valores BitMapBuffer y SizeOfBitMap proporcionados por el autor de la llamada en él. Posteriormente, la estructura se puede pasar a otras rutinas para manipular el mapa de bits. RtlInitializeBitMap no modifica el contenido del mapa de bits.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuario)
IRQL Cualquier IRQL si BitMapHeader es residente en memoria; <= APC_LEVEL si BitMapHeader es paginable o en Windows 7 y versiones anteriores

Consulte también

RTL_BITMAP

RtlAreBitsClear

RtlAreBitsSet

RtlCheckBit

RtlClearAllBits

RtlClearBits

RtlFindClearBits

RtlFindClearBitsAndSet

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlFindSetBits

RtlFindSetBitsAndClear

RtlNumberOfClearBits

RtlNumberOfSetBits

RtlSetAllBits

RtlSetBits