Fungsi ObReferenceObjectByPointer (wdm.h)

Rutinitas ObReferenceObjectByPointer meningkatkan jumlah referensi penunjuk untuk objek tertentu.

Sintaks

NTSTATUS ObReferenceObjectByPointer(
  [in]           PVOID           Object,
  [in]           ACCESS_MASK     DesiredAccess,
  [in, optional] POBJECT_TYPE    ObjectType,
  [in]           KPROCESSOR_MODE AccessMode
);

Parameter

[in] Object

Arahkan ke isi objek.

[in] DesiredAccess

Menentukan masker yang mewakili akses yang diminta ke objek.

[in, optional] ObjectType

Penunjuk ke jenis objek. ObjectType dapat berupa *ExEventObjectType, *ExSemaphoreObjectType, *IoFileObjectType, *PsProcessType, *PsThreadType, *SeTokenObjectType, *TmEnlistmentObjectType, *TmResourceManagerObjectType, *TmTransactionManagerObjectType, atau *TmTransactionObjectType.

Parameter ini juga bisa NULL jika AccessMode adalah KernelMode.

[in] AccessMode

Menunjukkan mode akses yang akan digunakan untuk pemeriksaan akses. Ini harus Berupa UserMode atau KernelMode. Driver tingkat bawah harus menentukan KernelMode.

Nilai kembali

ObReferenceObjectByPointer mengembalikan STATUS_SUCCESS ketika rutinitas berhasil meningkatkan jumlah referensi isi objek target. Rutinitas melakukan validasi jenis objek jika panggilan sedang dilakukan dalam mode pengguna dan jika jenis yang diminta oleh pemanggil tidak cocok dengan yang dari isi objek, STATUS_OBJECT_TYPE_MISMATCH dikembalikan. Kode NTSTATUS yang sama dikembalikan jika jenis yang diminta adalah jenis tautan simbolis (ObpSymbolicLinkObjectType) yang tidak diizinkan oleh rutinitas, terlepas dari jenis mode aksesnya.

Keterangan

Memanggil rutinitas ini mencegah objek dihapus, mungkin oleh panggilan komponen lain ke ObDereferenceObject atau ZwClose. Pemanggil harus mengurangi jumlah referensi dengan ObDereferenceObject segera setelah dilakukan dengan objek .

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), TargetRelationNeedsRef(wdm)

Lihat juga

ObDereferenceObject

ObReferenceObject

ObReferenceObjectByHandle

ZwClose