Função RtlFindSetBitsAndClear (wdm.h)
A rotina RtlFindSetBitsAndClear pesquisa um intervalo de bits de conjunto de um tamanho solicitado em um bitmap e limpa todos os bits no intervalo quando ele foi localizado.
Sintaxe
NTSYSAPI ULONG RtlFindSetBitsAndClear(
[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 de conjunto contíguo atenderão a essa solicitação.
[in] HintIndex
Especifica uma posição de bit baseada em zero em torno da qual começar a procurar um intervalo de bits definido do tamanho especificado.
Retornar valor
RtlFindSetBitsAndClear retorna o índice de bit inicial baseado em zero para um intervalo de bits definido do tamanho solicitado que ele limpou ou retorna 0xFFFFFFFF se não encontrar esse intervalo dentro da variável bitmap fornecida.
Comentários
Para uma chamada bem-sucedida, a posição de bit retornada não é necessariamente equivalente ao HintIndex especificado. Se necessário, RtlFindSetBitsAndClear pesquisa todo o bitmap para localizar um intervalo de bits definido do tamanho solicitado. No entanto, ele começa a pesquisar o intervalo solicitado perto de HintIndex, para que os chamadores possam limpar esse intervalo mais rapidamente quando puderem fornecer dicas apropriadas sobre onde começar a procurar.
Os chamadores de RtlFindSetBitsAndClear 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, RtlFindSetBitsAndClear pode ser chamado em qualquer IRQL.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (seção Consulte Comentários) |