Función RtlFindClearBits (wdm.h)

La rutina RtlFindClearBits busca un intervalo de bits claros de un tamaño solicitado dentro de un mapa de bits.

Sintaxis

NTSYSAPI ULONG RtlFindClearBits(
  [in] PRTL_BITMAP BitMapHeader,
  [in] ULONG       NumberToFind,
  [in] ULONG       HintIndex
);

Parámetros

[in] BitMapHeader

Puntero a la estructura RTL_BITMAP que describe el mapa de bits. Esta estructura debe haber sido inicializada por la rutina RtlInitializeBitMap .

[in] NumberToFind

Especifica cuántos bits claros contiguos cumplirán esta solicitud.

[in] HintIndex

Especifica una posición de bit de base cero desde la que empezar a buscar un intervalo de bits claro del tamaño especificado.

Valor devuelto

RtlFindClearBits devuelve el índice de bits inicial de base cero para un intervalo de bits claro de al menos el tamaño solicitado, o devuelve 0xFFFFFFFF si no encuentra dicho intervalo dentro del mapa de bits especificado.

Comentarios

Para una llamada correcta, la posición de bits devuelta no es necesariamente equivalente a la hintIndex especificada. Si es necesario, RtlFindClearBits busca en todo el mapa de bits para buscar un intervalo de bits claro del tamaño solicitado. Los autores de llamadas pueden encontrar este rango más rápidamente cuando pueden proporcionar sugerencias adecuadas sobre dónde empezar a buscar.

Si no se encuentra un intervalo coincidente entre el índice de sugerencias y el final del mapa de bits, RtlFindClearBits continúa buscando desde el principio del mapa de bits hasta el índice de sugerencias.

Si solo desea que se devuelva un índice mayor o igual que algún valor, use RtlFindNextForwardRunClear en su lugar.

Los autores de llamadas de RtlFindClearBits deben ejecutarse en IRQL <= APC_LEVEL si la memoria que contiene la variable de mapa de bits es paginable o la memoria de BitMapHeader es paginable. De lo contrario, se puede llamar a RtlFindClearBits en cualquier IRQL.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL IRQL <= APC_LEVEL (consulte la sección Comentarios)

Consulte también

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBitsAndSet

RtlFindFirstRunClear

RtlFindLongestRunClear

RtlFindSetBits

RtlInitializeBitMap

RtlNumberOfClearBits