ObfReferenceObject-Funktion (wdm.h)
Die ObfReferenceObject-Routine erhöht die Verweisanzahl auf das angegebene Objekt.
Syntax
LONG_PTR ObfReferenceObject(
[in] PVOID Object
);
Parameter
[in] Object
Zeiger auf das Objekt. Der Aufrufer hat diesen Parameter entweder beim Erstellen des Objekts oder aus einem vorherigen Aufruf von ObReferenceObjectByHandle abgerufen, nachdem er das Objekt geöffnet hat.
Rückgabewert
ObfReferenceObject gibt einen Wert zurück, der für die Systemverwendung reserviert ist. Treiber müssen diesen Wert als VOID behandeln.
Hinweise
ObfReferenceObject erhöht einfach die Zeigerverweisanzahl für ein Objekt, ohne Zugriffsprüfungen für das angegebene Objekt durchzuführen, wie ObReferenceObjectByHandle und ObReferenceObjectByPointer tun.
ObfReferenceObject verhindert das Löschen des Objekts zumindest so lange, bis der Treiber anschließend sein reziprokes ObDereferenceObject aufruft oder das angegebene Objekt schließt. Der Aufrufer muss die Verweisanzahl mit ObDereferenceObject dekrementieren, sobald dies mit dem Objekt erfolgt ist.
Wenn die Verweisanzahl für ein Objekt 0 erreicht, kann eine Kernelmoduskomponente das Objekt aus dem System entfernen. Ein Treiber kann jedoch nur die Objekte entfernen, die er erstellt hat, und ein Treiber sollte niemals versuchen, ein Objekt zu entfernen, das er nicht erstellt hat.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Desktop |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), TargetRelationNeedsRef(wdm) |