Share via


PINIT_ONCE_FN 콜백 함수(synchapi.h)

애플리케이션 정의 콜백 함수입니다. InitOnceExecuteOnce 함수를 호출할 때 이 함수에 대한 포인터를 지정합니다. PINIT_ONCE_FN 형식은 이 콜백 함수에 대한 포인터를 정의합니다. InitOnceCallback 은 애플리케이션 정의 함수 이름의 자리 표시자입니다.

구문

PINIT_ONCE_FN PinitOnceFn;

BOOL PinitOnceFn(
  [in, out]           PINIT_ONCE InitOnce,
  [in, out, optional] PVOID Parameter,
  [out, optional]     PVOID *Context
)
{...}

매개 변수

[in, out] InitOnce

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

[in, out, optional] Parameter

콜백 함수에 전달된 선택적 매개 변수입니다.

[out, optional] Context

일회성 초기화 구조로 저장할 데이터입니다. Context에서 값을 참조하는 경우 값의 하위 순서 INIT_ONCE_CTX_RESERVED_BITS 0이어야 합니다. 컨텍스트가 데이터 구조를 가리키는 경우 데이터 구조는 DWORD 정렬이어야 합니다. Arm32 코드 포인터에는 항상 가장 중요한 비트 집합이 있으므로 컨텍스트가 Arm32의 코드 포인터가 아니어야 합니다. 자세한 내용은 Arm32 ABI를 참조하세요.

반환 값

함수가 TRUE를 반환하면 블록이 초기화된 것으로 표시됩니다.

함수가 FALSE를 반환하면 블록이 초기화된 것으로 표시되지 않고 InitOnceExecuteOnce 호출이 실패합니다. 추가 오류 정보를 전달하려면 FALSE를 반환하기 전에 SetLastError를 호출합니다.

설명

이 함수는 동기화 개체를 만들고 lpContext 매개 변수에 반환할 수 있습니다.

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

예제

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

요구 사항

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

추가 정보

InitOnceExecuteOnce

InitOnceInitialize

동기화 함수