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 반환하는 경우 RtlRunOnceBeginInitialize에 대한 후속 호출은 초기화된 데이터와 컨텍스트 동일한 RTL_RUN_ONCE 구조체에 대한 제공합니다.
호출자가 Flags 매개 변수에 RTL_RUN_ONCE_ASYNC 지정하고 rtlRunOnceComplete STATUS_SUCCESS 이외의 값을 반환하는 경우 호출자는 시도한 초기화를 정리해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | ntddk.h(Ntddk.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |