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) |