Fungsi CmSetCallbackObjectContext (wdm.h)

Rutinitas CmSetCallbackObjectContext mengaitkan informasi konteks baru dengan objek registri tertentu dan rutinitas panggilan balik.

Sintaks

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

Parameter

[in, out] Object

Penunjuk ke objek kunci registri tempat driver memberikan informasi konteks. Driver mendapatkan pointer ini dari anggota ResultObject dari salah satu struktur berikut:

[in] Cookie

Penunjuk ke nilai LARGE_INTEGER yang mengidentifikasi rutinitas panggilan balik untuk mengaitkan konteks. Rutinitas CmRegisterCallbackEx menyediakan nilai ini ketika Anda mendaftarkan rutinitas panggilan balik.

[in] NewContext

Penunjuk ke informasi konteks yang ditentukan driver.

[out, optional] OldContext

Penunjuk ke lokasi yang menerima penunjuk ke informasi konteks yang sebelumnya terkait dengan objek dan cookie yang ditentukan. Parameter ini bersifat opsional dan dapat berupa NULL.

Mengembalikan nilai

CmSetCallbackObjectContext mengembalikan STATUS_SUCCESS atau nilai lain yang dititik NTSTATUS yang sesuai.

Keterangan

Rutinitas CmSetCallbackObjectContext tersedia dimulai dengan Windows Vista.

Rutinitas RegistryCallback driver dapat memanggil CmSetCallbackObjectContext untuk objek kunci registri apa pun setelah objek dibuat atau dibuka (yaitu, selama pasca-pemberitahuan untuk operasi pembuatan, operasi terbuka, atau pemberitahuan berikutnya hingga pra-pemberitahuan penutupan handel).

Jika driver memanggil CmSetCallbackObjectContext, rutinitas RegistryCallback driver akan menerima pemberitahuan RegNtCallbackObjectContextCleanup setelah handel objek kunci ditutup atau setelah driver memanggil CmUnRegisterCallback untuk membatalkan pendaftaran rutinitas RegistryCallback . Ketika rutinitas RegistryCallback menerima pemberitahuan ini, rutinitas harus merilis sumber daya apa pun yang dialokasikan untuk konteks objek.

Jika CmSetCallbackObjectContext dipanggil sebelum pemberitahuan RegNtCallbackObjectContextCleanup , OldContext masih dapat dirujuk oleh RegistryCallback yang menerima pemberitahuan lain. OldContext tidak boleh dirilis sebelum pemberitahuan RegNtCallbackObjectContextCleanup .

Untuk informasi selengkapnya tentang CmSetCallbackObjectContext dan memfilter operasi registri, lihat Memfilter Panggilan Registri.

Persyaratan

   
Klien minimum yang didukung Tersedia dimulai dengan Windows Vista.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Lihat juga

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

RegistryCallback