Partager via


CounterInitialize, fonction

Inscrit le fournisseur et initialise les jeux de compteurs.

Syntaxe

ULONG WINAPI CounterInitialize(void);

Paramètres

Cette fonction n’a pas de paramètres.

Valeur retournée

Retourne ERROR_SUCCESS en cas de réussite ; sinon, un code d’erreur Win32 standard.

Notes

Votre fournisseur appelle cette fonction. La fonction inclut des appels à la fonction PerfStartProvider et à la fonction PerfSetCounterSetInfo .

L’outil CTRPP génère cette fonction inline lorsque vous spécifiez l’argument -o. Le nom de la fonction inclut une chaîne de préfixe si vous spécifiez l’argument -prefix .

Si vous spécifiez les arguments -MemoryRoutines ou -NotificationCallback (ou l’attribut de rappel pour l’élément provider ), la signature CounterInitialize devient la suivante :

ULONG WINAPI CounterInitialize(
    __in_opt PERFLIBREQUEST NotificationCallback,
    __in_opt PERF_MEM_ALLOC MemoryAllocationFunction,
    __in_opt PERF_MEM_FREE MemoryFreeFunction,
    __inout_opt PVOID MemoryFunctionContext
);

où :

NotificationCallback

Nom de votre fonction de rappel ControlCallback que vous implémentez pour recevoir une notification des demandes des consommateurs (par exemple, les demandes d’ajout ou de suppression de compteurs de la requête). Définissez sur NULL si vous n’implémentez pas la fonction de rappel ControlCallback .

MemoryAllocationFunction

Nom de votre fonction de rappel AllocateMemory que PERFLIB appelle pour allouer de la mémoire. Définissez sur NULL si vous n’avez pas spécifié l’argument -MemoryRoutines .

MemoryFreeFunction

Nom de votre fonction de rappel FreeMemory que PERFLIB appelle pour libérer la mémoire allouée à l’aide de la fonction AllocateMemory . Définissez sur NULL si MemoryAllocationFunction a la valeur NULL.

MemoryFunctionContext

Informations de contexte à passer à votre allocation de mémoire et à vos routines gratuites. Peut être NULL.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 R2 [applications de bureau uniquement]