RtlFindClearBitsAndSet 함수(wdm.h)
RtlFindClearBitsAndSet 루틴은 비트맵 내에서 요청된 크기의 명확한 비트 범위를 검색하고 해당 비트가 있을 때 범위의 모든 비트를 설정합니다.
구문
NTSYSAPI ULONG RtlFindClearBitsAndSet(
[in] PRTL_BITMAP BitMapHeader,
[in] ULONG NumberToFind,
[in] ULONG HintIndex
);
매개 변수
[in] BitMapHeader
비트맵을 설명하는 RTL_BITMAP 구조체에 대한 포인터입니다. 이 구조체는 RtlInitializeBitMap 루틴에 의해 초기화되어야 합니다.
[in] NumberToFind
이 요청을 충족하는 연속 지우기 비트 수를 지정합니다.
[in] HintIndex
지정된 크기의 명확한 비트 범위를 검색하기 시작할 0부터 시작하는 비트 위치를 지정합니다.
반환 값
RtlFindClearBitsAndSet 는 설정한 요청된 크기의 명확한 비트 범위에 대해 0부터 시작하는 비트 인덱스를 반환하거나 지정된 비트맵 변수 내에서 이러한 범위를 찾을 수 없는 경우 0xFFFFFFFF 반환합니다.
설명
성공적인 호출의 경우 반환된 비트 위치가 지정된 HintIndex와 반드시 동일하지는 않습니다. 필요한 경우 RtlFindClearBitsAndSet 는 전체 비트맵을 검색하여 요청된 크기의 명확한 비트 범위를 찾습니다. 그러나 HintIndex에서 요청된 범위를 검색하기 시작하므로 호출자는 검색을 시작할 위치에 대한 적절한 힌트를 제공할 수 있을 때 이러한 범위를 더 빠르게 재설정할 수 있습니다.
비트맵 변수가 포함된 메모리가 페이징 가능하거나 BitMapHeader의 메모리를 페이징할 수 있는 경우 RtlFindClearBitsAndSet의 호출자는 IRQL <= APC_LEVEL 실행되어야 합니다. 그렇지 않으면 모든 IRQL에서 RtlFindClearBitsAndSet 를 호출할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL(설명 섹션 참조) |