Macro ObReferenceObject (wdm.h)
La routine ObReferenceObject incrementa il conteggio dei riferimenti all'oggetto specificato.
Sintassi
void ObReferenceObject(
[in] Object
);
Parametri
[in] Object
Puntatore all'oggetto. Il chiamante ha ottenuto questo parametro quando ha creato l'oggetto o da una chiamata precedente a ObReferenceObjectByHandle dopo aver aperto l'oggetto.
Valore restituito
nessuno
Osservazioni
ObReferenceObject restituisce un valore riservato per l'uso del sistema. I driver devono considerare questo valore come VOID.
ObReferenceObject incrementa semplicemente il conteggio dei riferimenti del puntatore per un oggetto, senza effettuare controlli di accesso sull'oggetto specificato, come ObReferenceObjectByHandle e ObReferenceObjectByPointer .
ObReferenceObject impedisce l'eliminazione dell'oggetto almeno fino a quando il driver chiama successivamente il relativo reciproco, ObDereferenceObject o chiude l'oggetto specificato. Il chiamante deve decrerere il conteggio dei riferimenti con ObDereferenceObject non appena viene eseguito con l'oggetto.
Quando il conteggio dei riferimenti per un oggetto raggiunge zero, un componente in modalità kernel può rimuovere l'oggetto dal sistema. Tuttavia, un driver può rimuovere solo gli oggetti creati e un driver non dovrebbe mai tentare di rimuovere qualsiasi oggetto che non è stato creato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | HwStorPortProhibitedDDDIs(storport) |