Partager via


PINIT_ONCE_FN fonction de rappel (synchapi.h)

Fonction de rappel définie par l’application. Spécifiez un pointeur vers cette fonction lors de l’appel de la fonction InitOnceExecuteOnce . Le type PINIT_ONCE_FN définit un pointeur vers cette fonction de rappel. InitOnceCallback est un espace réservé pour le nom de fonction défini par l’application.

Syntaxe

PINIT_ONCE_FN PinitOnceFn;

BOOL PinitOnceFn(
  [in, out]           PINIT_ONCE InitOnce,
  [in, out, optional] PVOID Parameter,
  [out, optional]     PVOID *Context
)
{...}

Paramètres

[in, out] InitOnce

Pointeur vers la structure d’initialisation à usage unique.

[in, out, optional] Parameter

Paramètre facultatif qui a été passé à la fonction de rappel.

[out, optional] Context

Données à stocker avec la structure d’initialisation à usage unique. Si Context fait référence à une valeur, le INIT_ONCE_CTX_RESERVED_BITS de faible ordre de la valeur doit être égal à zéro. Si Context pointe vers une structure de données, la structure de données doit être alignée sur DWORD. Le contexte ne doit pas être un pointeur de code sur Arm32, car les pointeurs de code Arm32 ont toujours le bit le moins significatif défini. Pour plus d’informations, consultez Arm32 ABI .

Valeur retournée

Si la fonction retourne TRUE, le bloc est marqué comme initialisé.

Si la fonction retourne FALSE, le bloc n’est pas marqué comme initialisé et l’appel à InitOnceExecuteOnce échoue. Pour communiquer des informations supplémentaires sur l’erreur, appelez SetLastError avant de retourner FALSE.

Remarques

Cette fonction peut créer un objet de synchronisation et le retourner dans le paramètre lpContext .

Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0600 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Exemples

Pour obtenir un exemple qui utilise cette fonction, consultez Utilisation de One-Time initialisation.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête synchapi.h (inclure Windows.h)

Voir aussi

InitOnceExecuteOnce

InitOnceInitialize

Fonctions de synchronisation