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


Функция InitOnceInitialize (synchapi.h)

Инициализирует структуру одноразовой инициализации.

Синтаксис

void InitOnceInitialize(
  [out] PINIT_ONCE InitOnce
);

Параметры

[out] InitOnce

Указатель на структуру одноразовой инициализации.

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

None

Remarks

Функция 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
Header synchapi.h (включая Windows.h в Windows 7, Windows Server 2008 Windows Server 2008 R2)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

InitOnceExecuteOnce

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

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