다음을 통해 공유


InitOnceComplete 함수(synchapi.h)

InitOnceBeginInitialize 함수로 시작된 일회성 초기화를 완료합니다.

구문

BOOL InitOnceComplete(
  [in, out]      LPINIT_ONCE lpInitOnce,
  [in]           DWORD       dwFlags,
  [in, optional] LPVOID      lpContext
);

매개 변수

[in, out] lpInitOnce

일회성 초기화 구조에 대한 포인터입니다.

[in] dwFlags

이 매개 변수는 다음 플래그 중 하나일 수 있습니다.

의미
INIT_ONCE_ASYNC
0x00000002UL
비동기 모드에서 작동합니다. 이렇게 하면 여러 완료 시도가 병렬로 실행될 수 있습니다. 이 플래그는 InitOnceBeginInitialize 함수에 대한 해당 호출에서 전달된 플래그와 일치해야 합니다. 이 플래그는 INIT_ONCE_INIT_FAILED 결합할 수 없습니다.
INIT_ONCE_INIT_FAILED
0x00000004UL
초기화 시도가 실패했습니다. 이 플래그는 INIT_ONCE_ASYNC 결합할 수 없습니다. 비동기 초기화에 실패하려면 중단하기만 하면 됩니다(즉, InitOnceComplete 함수를 호출하지 않음).

[in, optional] lpContext

일회성 초기화 구조와 함께 저장할 데이터에 대한 포인터입니다. 이 데이터는 InitOnceBeginInitialize 함수에 대한 후속 호출에 전달된 lpContext 매개 변수에 반환됩니다. lpContext가 값을 가리키는 경우 값의 하위 순서 INIT_ONCE_CTX_RESERVED_BITS 0이어야 합니다. lpContext가 데이터 구조를 가리키는 경우 데이터 구조는 DWORD 정렬이어야 합니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0600 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.

예제

이 함수를 사용하는 예제는 One-Time 초기화 사용을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 synchapi.h(Windows 7, Windows Server 2008 Windows Server 2008 R2의 Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

InitOnceBeginInitialize

일회성 초기화

동기화 함수