Função RtlFindClearBitsAndSet (wdm.h)

A rotina RtlFindClearBitsAndSet pesquisa um intervalo de bits claros de um tamanho solicitado em um bitmap e define todos os bits no intervalo quando ele foi localizado.

Sintaxe

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

RtlFindClearBitsAndSet retorna o índice de bit inicial baseado em zero para um intervalo de bits claro do tamanho solicitado definido 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, RtlFindClearBitsAndSet pesquisa todo o bitmap para localizar um intervalo de bits claro do tamanho solicitado. No entanto, ele começa a pesquisar o intervalo solicitado de HintIndex, para que os chamadores possam ter essa redefinição de intervalo mais rapidamente quando puderem fornecer dicas apropriadas sobre onde começar a procurar.

Os chamadores de RtlFindClearBitsAndSet 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, RtlFindClearBitsAndSet 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)

Confira também

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBits

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap

RtlNumberOfClearBits

RtlSetAllBits

RtlSetBits