Condividi tramite


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:

[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

Vedi anche

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

RegistryCallback