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