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) |