Função RtlFindClearBits (wdm.h)
A rotina RtlFindClearBits procura um intervalo de bits claros de um tamanho solicitado em um bitmap.
Sintaxe
NTSYSAPI ULONG RtlFindClearBits(
[in] PRTL_BITMAP BitMapHeader,
[in] ULONG NumberToFind,
[in] ULONG HintIndex
);
Parâmetros
[in] BitMapHeader
Um ponteiro para a estrutura RTL_BITMAP que descreve o bitmap. Essa estrutura deve ter sido inicializada pela rotina RtlInitializeBitMap .
[in] NumberToFind
Especifica quantos bits claros contíguos atenderão a essa solicitação.
[in] HintIndex
Especifica uma posição de bit baseada em zero da qual começar a procurar um intervalo de bits claro do tamanho especificado.
Retornar valor
RtlFindClearBits retorna o índice de bit inicial baseado em zero para um intervalo de bits claro de pelo menos o tamanho solicitado ou retorna 0xFFFFFFFF se não encontrar esse intervalo dentro do bitmap fornecido.
Comentários
Para uma chamada bem-sucedida, a posição de bit retornada não é necessariamente equivalente ao HintIndex especificado. Se necessário, RtlFindClearBits pesquisa todo o bitmap para localizar um intervalo de bits claro do tamanho solicitado. Os chamadores podem encontrar esse intervalo mais rapidamente quando podem fornecer dicas apropriadas sobre onde começar a procurar.
Se um intervalo correspondente não for encontrado entre o índice de dica e o final do bitmap, RtlFindClearBits continuará pesquisando desde o início do bitmap até o índice de dica.
Se você quiser retornar apenas um índice maior ou igual a algum valor, use RtlFindNextForwardRunClear .
Os chamadores de RtlFindClearBits devem estar em execução em IRQL <= APC_LEVEL se a memória que contém a variável bitmap for paginável ou a memória em BitMapHeader for paginável. Caso contrário, RtlFindClearBits pode ser chamado em qualquer IRQL.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | IRQL <= APC_LEVEL (seção Consulte Comentários) |