Bagikan melalui


Fungsi TmReferenceEnlistmentKey (wdm.h)

Rutinitas TmReferenceEnlistmentKey meningkatkan jumlah referensi untuk kunci objek pendaftaran yang ditentukan dan mengambil kunci.

Sintaks

NTSTATUS TmReferenceEnlistmentKey(
  [in]  PKENLISTMENT Enlistment,
  [out] PVOID        *Key
);

Parameter

[in] Enlistment

Penunjuk ke objek pendaftaran. Komponen Anda dapat menerima pointer ini sebagai input ke rutinitas panggilan balik ResourceManagerNotification . Atau, komponen Anda dapat memanggil ObReferenceObjectByHandle dan menyediakan handel objek yang disediakan panggilan sebelumnya ke ZwCreateEnlistment, TmCreateEnlistment, atau ZwOpenEnlistment .

[out] Key

Penunjuk ke variabel yang menerima kunci pendaftaran objek pendaftaran. Pemanggil menetapkan kunci pendaftaran saat memanggil ZwCreateEnlistment atau TmCreateEnlistment.

Nilai kembali

TmReferenceEnlistmentKey mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, rutinitas ini mungkin mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Nilai parameter Kunci adalah NULL.
STATUS_UNSUCCESSFUL
Jumlah referensi objek pendaftaran yang ditentukan telah diturunkan menjadi nol, sehingga jumlah referensi tidak dapat dinaikkan.
STATUS_INSUFFICIENT_RESOURCES
Jumlah referensi berada pada nilai maksimumnya (0xFFFFFFFF) dan tidak dapat dinaikkan.
 

Rutinitas mungkin mengembalikan nilai NTSTATUS lainnya.

Keterangan

Rutinitas TmReferenceEnlistmentKey meningkatkan jumlah referensi untuk nilai kunci objek enlistment, dan rutin TmDereferenceEnlistmentKey mengurangi hitungan.

Jika manajer sumber daya telah menentukan nilai kunci untuk pendaftaran, manajer sumber daya menerima nilai kunci saat memanggil ZwGetNotificationResourceManager atau ketika KTM memanggil rutinitas panggilan balik ResourceManagerNotification .

Saat manajer sumber daya memproses pemberitahuan, manajer sumber daya mungkin menggunakan kunci sebagai penunjuk ke alokasi memori sementara, dan mungkin menggunakan jumlah referensi untuk menentukan kapan harus membatalkan alokasi memori.

Untuk informasi tentang kapan harus menggunakan rutinitas TmXxx KTM alih-alih rutinitas ZwXxx , lihat Menggunakan Rutinitas TmXxx.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Vista dan versi sistem operasi yang lebih baru.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Lihat juga

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

TmDereferenceEnlistmentKey

ZwCreateEnlistment

ZwOpenEnlistment