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
1 回限りの初期化構造体へのポインター。
[in, out, optional] Parameter
コールバック関数に渡された省略可能なパラメーター。
[out, optional] Context
1 回限りの初期化構造で格納されるデータ。 Context が値を参照する場合、値の下位INIT_ONCE_CTX_RESERVED_BITSは 0 である必要があります。 Context がデータ構造を指す場合、データ構造は 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 を含む) |