Поделиться через


Функция 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

Указатель на данные, которые будут храниться со структурой одноразовой инициализации. Эти данные возвращаются в параметре lpContext , передаваемом последующим вызовам функции InitOnceBeginInitialize . Если lpContext указывает на значение, INIT_ONCE_CTX_RESERVED_BITS нижнего порядка значения должно быть равно нулю. Если lpContext указывает на структуру данных, структура данных должна быть выровнена по DWORD.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0600 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Примеры

Пример использования этой функции см. в разделе Использование инициализации One-Time.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header synchapi.h (включая Windows.h в Windows 7, Windows Server 2008 Windows Server 2008 R2)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

InitOnceBeginInitialize

Одноразовая инициализация

Функции синхронизации