RtlRunOnceExecuteOnce 함수(ntddk.h)
RtlRunOnceExecuteOnce 일회성 초기화를 수행합니다.
통사론
NTSYSAPI NTSTATUS RtlRunOnceExecuteOnce(
PRTL_RUN_ONCE RunOnce,
PRTL_RUN_ONCE_INIT_FN InitFn,
PVOID Parameter,
PVOID *Context
);
매개 변수
[in, out] RunOnce
RTL_RUN_ONCE 일회성 초기화 구조에 대한 포인터입니다.
[in] InitFn
RunOnceInitialization 루틴에 대한 포인터입니다.
[in, out] Parameter
RunOnceInitialization 루틴에 매개 변수 매개 변수로 전달할 값입니다.
[out] Context
초기화된 데이터를 수신하는 PVOID 변수에 대한 포인터입니다.
반환 값
RtlRunOnceExecuteOnce 작업이 성공하면 STATUS_SUCCESS 반환하고, 작업이 실패하면 적절한 NTSTATUS 오류 코드를 반환합니다.
발언
특정 RTL_RUN_ONCE 구조에 대한 rtlRunOnceExecuteOnce 첫 번째 호출의 경우 RtlRunOnceExecuteOnceRunOnceInitialization 루틴을 호출하여 데이터를 초기화합니다. 해당 구조에 RtlRunOnceExecuteOnce 대한 모든 후속 호출은 동일한 초기화된 데이터를 제공합니다. RunOnceInitialization 루틴은 동일한 RTL_RUN_ONCE 구조에 대해 두 번 호출되지 않습니다.
RtlRunOnceExecuteOnce 일반 커널 APC가 사용하지 않도록 설정된 상태에서 실행됩니다. 모든 호출이 APC_LEVEL 발생하지 않는 한 특수 커널 APC 내에서 루틴을 호출해서는 안 됩니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista부터 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | ntddk.h(Ntddk.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL(주의 섹션 참조) |