Función RtlFindSetBits (wdm.h)

La rutina RtlFindSetBits busca un intervalo de bits de conjunto de un tamaño solicitado dentro de un mapa de bits.

Sintaxis

NTSYSAPI ULONG RtlFindSetBits(
  [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

RtlFindSetBits devuelve el índice de bits inicial basado en cero para un intervalo de bits establecido del tamaño solicitado, o devuelve 0xFFFFFFFF si no encuentra ese 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, RtlFindSetBits 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 encontrar este rango más rápidamente cuando pueden proporcionar sugerencias adecuadas sobre dónde empezar a buscar.

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

RtlClearBits

RtlFindClearBits

RtlFindSetBitsAndClear

RtlInitializeBitMap

RtlNumberOfSetBits