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 du membre ResultObject 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 a 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 retournée

CmSetCallbackObjectContext retourne STATUS_SUCCESS ou une autre valeur de type NTSTATUS appropriée.

Remarques

La routine CmSetCallbackObjectContext est disponible à partir de Windows Vista.

La routine RegistryCallback d’un pilote peut appeler CmSetCallbackObjectContext pour n’importe quel objet de clé de Registre après la création ou l’ouverture de l’objet (c’est-à-dire pendant une notification postérieure à une opération de création, une opération d’ouverture ou toute notification ultérieure jusqu’à la notification préalable 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 a appelé 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 la notification RegNtCallbackObjectContextCleanup , OldContext peut toujours être référencé par RegistryCallback qui reçoit une autre notification. OldContext ne doit pas être publié avant la notification RegNtCallbackObjectContextCleanup .

Pour plus d’informations sur CmSetCallbackObjectContext et le filtrage des opérations de Registre, consultez Filtrage des appels du registre.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows Vista.
Plateforme cible Universal
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