Funzione CmSetCallbackObjectContext (wdm.h)
La routine CmSetCallbackObjectContext associa nuove informazioni di contesto a un oggetto del Registro di sistema e a una routine di callback specificata.
Sintassi
NTSTATUS CmSetCallbackObjectContext(
[in, out] PVOID Object,
[in] PLARGE_INTEGER Cookie,
[in] PVOID NewContext,
[out, optional] PVOID *OldContext
);
Parametri
[in, out] Object
Puntatore all'oggetto chiave del Registro di sistema per cui il driver fornisce informazioni di contesto. Il driver ottiene questo puntatore dal membro ResultObject di una delle strutture seguenti:
REG_OPEN_KEY_INFORMATION
REG_OPEN_KEY_INFORMATION_V1
[in] Cookie
Puntatore a un valore LARGE_INTEGER che identifica la routine di callback con cui associare il contesto. La routine CmRegisterCallbackEx ha fornito questo valore quando è stata registrata la routine di callback.
[in] NewContext
Puntatore alle informazioni sul contesto definite dal driver.
[out, optional] OldContext
Puntatore a una posizione che riceve un puntatore alle informazioni sul contesto associate in precedenza al driver associato all'oggetto e al cookie specificati. Questo parametro è facoltativo e può essere NULL.
Valore restituito
CmSetCallbackObjectContext restituisce STATUS_SUCCESS o un altro valore tipizzato NTSTATUS appropriato.
Commenti
La routine CmSetCallbackObjectContext è disponibile a partire da Windows Vista.
La routine RegistryCallback di un driver può chiamare CmSetCallbackObjectContext per qualsiasi oggetto chiave del Registro di sistema dopo la creazione o l'apertura dell'oggetto, ovvero durante una notifica post-notifica per un'operazione di creazione, un'operazione aperta o qualsiasi notifica successiva fino alla pre-notifica della chiusura dell'handle.
Se un driver chiama CmSetCallbackObjectContext, la routine RegistryCallback del driver riceverà una notifica RegNtCallbackObjectContextCleanup dopo che l'handle dell'oggetto chiave è stato chiuso o dopo che il driver chiama CmUnRegisterCallback per annullare la registrazione della routine RegistryCallback . Quando la routine RegistryCallback riceve questa notifica, la routine deve rilasciare qualsiasi risorsa allocata per il contesto dell'oggetto.
Se CmSetCallbackObjectContext viene chiamato prima della notifica RegNtCallbackObjectContextCleanup , OldContext può comunque essere fatto riferimento da RegistryCallback che riceve un'altra notifica. OldContext non deve essere rilasciato prima della notifica RegNtCallbackObjectContextCleanup .
Per altre informazioni sulle operazioni del Registro di sistema CmSetCallbackObjectContext e filtro, vedere Filtro delle chiamate del Registro di sistema.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows Vista. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |