RtlInitializeBitMap 함수(wdm.h)

RtlInitializeBitMap 루틴은 비트맵 변수의 헤더를 초기화합니다.

구문

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

매개 변수

[out] BitMapHeader

RTL_BITMAP 구조체에 대한 포인터입니다.

[in] BitMapBuffer

비트맵 자체에 대해 호출자가 할당한 메모리에 대한 포인터입니다. 이 버퍼의 기본 주소는 ULONG에 맞춰야 합니다. 할당된 버퍼의 크기는 sizeof(ULONG) 바이트의 정수 배수여야 합니다.

[in] SizeOfBitMap

비트맵의 비트 수를 지정합니다. 이 값은 비트맵에 할당된 버퍼에 맞는 비트 수일 수 있습니다.

반환 값

없음

설명

드라이버는 재사용 가능한 항목 집합을 추적하는 경제적인 방법으로 비트맵 변수를 사용할 수 있습니다. 예를 들어 파일 시스템은 비트맵 변수를 사용하여 디스크의 클러스터/섹터가 파일 데이터를 보유하도록 이미 할당된 것을 추적합니다. 시스템에서 제공하는 SCSI 포트 드라이버는 비트맵 변수를 사용하여 SCSI SRB(요청 블록)에 할당된 큐 태그를 추적합니다.

RtlInitializeBitMap 은 비트맵 변수에서 작동하는 다른 RtlXxx 루틴 전에 호출되어야 합니다. BitMapHeader 포인터는 BitMapBuffer에서 호출자의 비트맵 변수에서 작동하는 모든 후속 RtlXxx 호출의 입력 매개 변수입니다. 호출자는 비트맵 변수에 대한 액세스를 동기화해야 합니다.

RtlInitializeBitMap은 호출자가 제공한 BitMapBufferSizeOfBitMap 값을 복사하여 호출자가 제공한 RTL_BITMAP 구조를 초기화합니다. 그 후 구조체를 다른 루틴으로 전달하여 비트맵을 조작할 수 있습니다. RtlInitializeBitMap 은 비트맵의 내용을 수정하지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe(커널 모드); Ntdll.dll(사용자 모드)
IRQL BitMapHeader가 메모리 상주인 경우 모든 IRQL; <= BitMapHeader가 페이지가 지정 가능하거나 Windows 7 이하 버전에서 APC_LEVEL

추가 정보

RTL_BITMAP

RtlAreBitsClear

RtlAreBitsSet

RtlCheckBit

RtlClearAllBits

RtlClearBits

RtlFindClearBits

RtlFindClearBitsAndSet

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlFindSetBits

RtlFindSetBitsAndClear

RtlNumberOfClearBits

RtlNumberOfSetBits

RtlSetAllBits

RtlSetBits