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


функция обратного вызова 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 завершается ошибкой . Чтобы сообщить дополнительные сведения об ошибке, вызовите SetLastError , прежде чем возвращать значение FALSE.

Комментарии

Эта функция может создать объект синхронизации и вернуть его в параметре lpContext .

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

Примеры

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

Требования

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

См. также раздел

InitOnceExecuteOnce

InitOnceInitialize

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