функция обратного вызова 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) |