InitOnceInitialize 函数 (synchapi.h)

初始化一次性初始化结构。

语法

void InitOnceInitialize(
  [out] PINIT_ONCE InitOnce
);

参数

[out] InitOnce

指向一次性初始化结构的指针。

返回值

备注

InitOnceInitialize 函数用于动态初始化一次性初始化结构。 若要静态初始化结构,请将 常量INIT_ONCE_STATIC_INIT 分配给结构变量。

若要编译使用此函数的应用程序, 请将_WIN32_WINNT 定义为 0x0600 或更高版本。 有关详细信息,请参阅 使用 Windows 标头

无法移动或复制一次性初始化对象。 进程不得修改初始化对象,而必须将其视为逻辑不透明。 仅使用一次性初始化函数来管理一次性初始化对象。

示例

以下示例调用 InitOnceInitialize 以初始化名为 的 InitOnce一次性初始化结构。 或者,可以将结构声明为全局变量,如 使用 One-Time 初始化中所示。


//Requires Windows Vista, Windows Server 2008 or later
#define _WIN32_WINNT 0x0600

#include <windows.h>

BOOL StartInitialization()
{
    INIT_ONCE InitOnce;

    InitOnceInitialize(&InitOnce);

    //...
    return TRUE;
}

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 synchapi.h (包括 Windows 7 上的 Windows.h、Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

InitOnceExecuteOnce

一次性初始化

同步函数