Función RtlFindSetBitsAndClear (wdm.h)

La rutina RtlFindSetBitsAndClear busca un intervalo de bits establecidos de un tamaño solicitado dentro de un mapa de bits y borra todos los bits del intervalo cuando se encuentra.

Sintaxis

NTSYSAPI ULONG RtlFindSetBitsAndClear(
  [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 de conjunto contiguos cumplirán esta solicitud.

[in] HintIndex

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

Valor devuelto

RtlFindSetBitsAndClear devuelve el índice de bits inicial basado en cero para un intervalo de bits establecido del tamaño solicitado que ha borrado o devuelve 0xFFFFFFFF si no encuentra dicho intervalo 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, RtlFindSetBitsAndClear busca en todo el mapa de bits para buscar un intervalo de bits establecido del tamaño solicitado. Sin embargo, comienza a buscar el rango solicitado cerca de HintIndex, por lo que los autores de llamadas pueden borrar este rango más rápidamente cuando pueden proporcionar sugerencias adecuadas sobre dónde empezar a buscar.

Los autores de llamadas de RtlFindSetBitsAndClear 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 RtlFindSetBitsAndClear 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

RtlAreBitsSet

RtlClearAllBits

RtlClearBits

RtlFindSetBits

RtlInitializeBitMap

RtlNumberOfSetBits