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 必须为零。 如果 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) |