Función RtlFindClearBitsAndSet (wdm.h)

La rutina RtlFindClearBitsAndSet busca un intervalo de bits claros de un tamaño solicitado dentro de un mapa de bits y establece todos los bits del intervalo cuando se ha localizado.

Sintaxis

NTSYSAPI ULONG RtlFindClearBitsAndSet(
  [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 bits de base cero desde la que empezar a buscar un intervalo de bits claro del tamaño especificado.

Valor devuelto

RtlFindClearBitsAndSet devuelve el índice de bits inicial basado en cero para un intervalo de bits claro del tamaño solicitado que estableció o devuelve 0xFFFFFFFF si no encuentra este rango dentro de la variable de mapa de bits especificada.

Comentarios

Para una llamada correcta, la posición de bits devuelta no es necesariamente equivalente a la hintIndex especificada. Si es necesario, RtlFindClearBitsAndSet busca en todo el mapa de bits para buscar un intervalo de bits claro del tamaño solicitado. Sin embargo, comienza a buscar el intervalo solicitado desde HintIndex, por lo que los autores de llamadas pueden tener un restablecimiento de intervalo de este tipo más rápidamente cuando pueden proporcionar sugerencias adecuadas sobre dónde empezar a buscar.

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

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
IRQL <= APC_LEVEL (consulte la sección Comentarios)

Consulte también

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBits

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap

RtlNumberOfClearBits

RtlSetAllBits

RtlSetBits