Função RtlInitializeBitMap (wdm.h)

A rotina RtlInitializeBitMap inicializa o cabeçalho de uma variável bitmap.

Sintaxe

NTSYSAPI VOID RtlInitializeBitMap(
  [out] PRTL_BITMAP             BitMapHeader,
  [in]  __drv_aliasesMem PULONG BitMapBuffer,
  [in]  ULONG                   SizeOfBitMap
);

Parâmetros

[out] BitMapHeader

Ponteiro para uma estrutura de RTL_BITMAP vazia.

[in] BitMapBuffer

Ponteiro para memória alocada pelo chamador para o bitmap em si. O endereço base desse buffer deve estar alinhado ao ULONG. O tamanho do buffer alocado deve ser um número inteiro múltiplo de bytes sizeof(ULONG).

[in] SizeOfBitMap

Especifica o número de bits no bitmap. Esse valor pode ser qualquer número de bits que caberá no buffer alocado para o bitmap.

Retornar valor

Nenhum

Comentários

Um driver pode usar uma variável bitmap como uma maneira econômica de acompanhar um conjunto de itens reutilizáveis. Por exemplo, os sistemas de arquivos usam uma variável bitmap para rastrear quais clusters/setores em um disco já foram alocados para armazenar dados de arquivo. O driver de porta SCSI fornecido pelo sistema usa uma variável bitmap para rastrear quais marcas de fila foram atribuídas a SRBs (blocos de solicitação SCSI).

RtlInitializeBitMap deve ser chamado antes de qualquer outra rotina RtlXxx que opere em uma variável bitmap. O ponteiro BitMapHeader é um parâmetro de entrada em todas as chamadas RtlXxx subsequentes que operam na variável bitmap do chamador no BitMapBuffer. O chamador é responsável por sincronizar o acesso à variável bitmap.

RtlInitializeBitMap inicializa a estrutura de RTL_BITMAP fornecida pelo chamador copiando os valores BitMapBuffer e SizeOfBitMap fornecidos pelo chamador nele. Posteriormente, a estrutura pode ser passada para outras rotinas para manipular o bitmap. RtlInitializeBitMap não modifica o conteúdo do bitmap.

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 (modo kernel); Ntdll.dll (modo de usuário)
IRQL Qualquer IRQL se BitMapHeader for residente em memória; <= APC_LEVEL se BitMapHeader for paginável ou no Windows 7 e anterior

Confira também

RTL_BITMAP

RtlAreBitsClear

RtlAreBitsSet

RtlCheckBit

RtlClearAllBits

RtlClearBits

RtlFindClearBits

RtlFindClearBitsAndSet

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlFindSetBits

RtlFindSetBitsAndClear

RtlNumberOfClearBits

RtlNumberOfSetBits

RtlSetAllBits

RtlSetBits