Bagikan melalui


Makro ObReferenceObject (wdm.h)

Rutinitas ObReferenceObject menaikkan jumlah referensi ke objek yang diberikan.

Sintaks

void ObReferenceObject(
  [in]  Object
);

Parameter

[in] Object

Arahkan ke objek . Penelepon memperoleh parameter ini baik ketika membuat objek atau dari panggilan sebelumnya ke ObReferenceObjectByHandle setelah membuka objek.

Nilai kembali

Tidak ada

Keterangan

ObReferenceObject mengembalikan nilai yang dicadangkan untuk penggunaan sistem. Driver harus memperlakukan nilai ini sebagai VOID.

ObReferenceObject hanya meningkatkan jumlah referensi pointer untuk objek, tanpa melakukan pemeriksaan akses pada objek yang diberikan, seperti yang dilakukan ObReferenceObjectByHandle dan ObReferenceObjectByPointer .

ObReferenceObject mencegah penghapusan objek setidaknya sampai driver kemudian memanggil timbal baliknya, ObDereferenceObject, atau menutup objek yang diberikan. Pemanggil harus mengurangi jumlah referensi dengan ObDereferenceObject segera setelah dilakukan dengan objek .

Ketika jumlah referensi untuk objek mencapai nol, komponen mode kernel dapat menghapus objek dari sistem. Namun, driver hanya dapat menghapus objek yang dibuatnya, dan driver tidak boleh mencoba menghapus objek apa pun yang tidak dibuatnya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Desktop
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport)

Lihat juga

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose