Partager via


CmSetCallbackObjectContext, fonction (wdm.h)

La routine CmSetCallbackObjectContext associe de nouvelles informations de contexte à un objet de Registre et une routine de rappel spécifiés.

Syntaxe

NTSTATUS CmSetCallbackObjectContext(
  [in, out]       PVOID          Object,
  [in]            PLARGE_INTEGER Cookie,
  [in]            PVOID          NewContext,
  [out, optional] PVOID          *OldContext
);

Paramètres

[in, out] Object

Pointeur vers l’objet de clé de Registre pour lequel le pilote fournit des informations de contexte. Le pilote obtient ce pointeur à partir de l'ResultObject membre de l’une des structures suivantes :

[in] Cookie

Pointeur vers une valeur LARGE_INTEGER qui identifie la routine de rappel à laquelle associer le contexte. La routine CmRegisterCallbackEx fourni cette valeur lorsque vous avez inscrit la routine de rappel.

[in] NewContext

Pointeur vers les informations de contexte définies par le pilote.

[out, optional] OldContext

Pointeur vers un emplacement qui reçoit un pointeur vers les informations de contexte que le pilote a précédemment associées à l’objet et au cookie spécifiés. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

CmSetCallbackObjectContext retourne STATUS_SUCCESS ou une autre valeur NTSTATUS-typée appropriée.

Remarques

La routine CmSetCallbackObjectContext est disponible à partir de Windows Vista.

La routine RegistryCallback d’un pilote peut appeler CmSetCallbackObjectContext pour tout objet de clé de Registre une fois l’objet créé ou ouvert (c’est-à-dire pendant une post-notification pour une opération de création, une opération ouverte ou toute notification ultérieure jusqu’à la pré-notification de fermeture du handle).

Si un pilote appelle CmSetCallbackObjectContext, la routine RegistryCallback du pilote reçoit une notification RegNtCallbackObjectContextCleanup une fois le handle de l’objet clé fermé ou après que le pilote appelle CmUnRegisterCallback pour annuler l’inscription de la routine RegistryCallback. Lorsque la routine RegistryCallback reçoit cette notification, la routine doit libérer toutes les ressources qu’elle a allouées pour le contexte de l’objet.

Si cmSetCallbackObjectContext est appelé avant notification RegNtCallbackObjectContextCleanup, OldContext peut toujours être référencé par RegistryCallback qui reçoit une autre notification. oldContext ne doit pas être publié avant notification RegNtCallbackObjectContextCleanup.

Pour plus d’informations sur CmSetCallbackObjectContext et les opérations de registre de filtrage, consultez d’appels de Registre de filtrage.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

RegistryCallback