RtlRunOnceComplete 함수(ntddk.h)
RtlRunOnceComplete 루틴은 RtlRunOnceBeginInitialize에서 시작된 일회성 초기화를 완료합니다.
구문
NTSYSAPI NTSTATUS RtlRunOnceComplete(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[in, optional] PVOID Context
);
매개 변수
[in, out] RunOnce
RTL_RUN_ONCE 일회성 초기화 구조에 대한 포인터입니다.
[in] Flags
드라이버는 필요에 따라 다음 플래그 중 하나 이상을 지정할 수 있습니다.
RTL_RUN_ONCE_ASYNC
비동기 모드에서 작동합니다. 이 모드를 사용하면 여러 완료 시도를 병렬로 실행할 수 있습니다. 이 플래그를 사용하는 경우 이 플래그도 지정하지 않으면 RtlRunOnceComplete 루틴에 대한 후속 호출이 실패합니다.
RTL_RUN_ONCE_INIT_FAILED
초기화 시도가 실패했습니다.
[in, optional] Context
초기화된 데이터를 지정합니다.
반환 값
RtlRunOnceComplete 는 다음 NTSTATUS 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
작업이 성공적으로 완료되었습니다. |
|
작업을 완료할 수 없습니다. 호출자가 Flags 매개 변수에 RTL_RUN_ONCE_ASYNC 지정한 경우 이 값은 다른 스레드가 초기화를 완료했음을 나타낼 수 있습니다. |
설명
RtlRunOnceComplete가 STATUS_SUCCESS 반환하는 경우 동일한 RTL_RUN_ONCE 구조에 대한 RtlRunOnceBeginInitialize에 대한 후속 호출은 초기화된 데이터와 컨텍스트를 제공합니다.
Flags 매개 변수에서 RTL_RUN_ONCE_ASYNC 지정한 호출자가 RtlRunOnceComplete에서 STATUS_SUCCESS 이외의 값을 반환하는 경우 호출자는 시도한 초기화를 클린 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 및 이후 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | ntddk.h(Ntddk.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |