AVC_FUNCTION_FIND_PEER_DO

Der AVC_FUNCTION_FIND_PEER_DO Funktionscode sucht eine nichtvirtuelle avc.sys instance.

E/A-Statusblock

Bei erfolgreicher Ausführung legt der AV/C-Protokolltreiber Irp-IoStatus.Status> auf STATUS_SUCCESS fest.

Mögliche andere Rückgabewerte sind:

Rückgabewert BESCHREIBUNG
STATUS_UNSUCCESSFUL Es wurde kein nichtvirtueller instance vonavc.sys gefunden.
STATUS_INVALID_GENERATION Eine Buszurücksetzung wurde durchgeführt, bevor der Verweis auf das Geräteobjekt gefunden wurde. Rufen Sie eine neue NodeAddress ab, und versuchen Sie es erneut.

Kommentare

Diese Funktion verwendet das PeerLocator-Element der AVC_MULTIFUNC_IRB-Struktur, wie unten gezeigt.

typedef struct _AVC_MULTIFUNC_IRB {
  AVC_IRB  Common;
  union {
    .
    .
    .
    AVC_PEER_DO_LOCATOR PeerLocator;
 .
    .
    .
  };
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;

Anforderungen

Header: Deklariert in avc.h. Schließen Sie avc.h ein.

AVC_MULTIFUNC_IRB Eingabe

Common
Der Unterstamm dieses Elements muss auf AVC_FUNCTION_FIND_PEER_DO aus der AVC_FUNCTION-Enumeration festgelegt werden.

PeerLocator
Gibt die nichtvirtuellen (Peer-)Instanzen von avc.sysan.

Diese Funktion sucht eine nichtvirtuelle avc.sys instance gemäß der Knotenadresse des geräts, das sie darstellt. Wenn kein instance gefunden wird, wird die IRP mit einer status von STATUS_UNSUCCESSFUL abgeschlossen. Sobald sich ein instance befindet, kann der Aufrufer alle GUID_AVC_CLASS Geräteschnittstellenanforderungen über das Objekt übermitteln. Der Aufrufer muss den Verweis auf dieses Objekt (über ObDereferenceObject) freigeben, wenn er fertig ist.

Dieser Funktionscode kann unter IRQL <= DISPATCH_LEVEL aufgerufen werden.

Weitere Informationen

AVC_MULTIFUNC_IRB

AVC_PEER_DO_LOCATOR

AVC_FUNCTION

ObDereferenceObject