Partager via


AVC_FUNCTION_FIND_PEER_DO

Le code de la fonction AVC_FUNCTION_FIND_PEER_DO localise unavc.sysnon virtuel instance .

Bloc d’état E/S

En cas de réussite, le pilote de protocole AV/C définit Irp-IoStatus.Status> sur STATUS_SUCCESS.

Les autres valeurs de retour possibles sont les suivantes :

Valeur retournée Description
STATUS_UNSUCCESSFUL Une instance non virtuelle de avc.sys a été trouvée
STATUS_INVALID_GENERATION Une réinitialisation du bus s’est produite avant que la référence de l’objet Device soit trouvée. Obtenez une nouvelle NodeAddress et réessayez.

Commentaires

Cette fonction utilise le membre PeerLocator de la structure AVC_MULTIFUNC_IRB comme indiqué ci-dessous.

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

Spécifications

En-têtes: Déclaré dans avc.h. Incluez avc.h.

entrée AVC_MULTIFUNC_IRB

Commun
Le sous-membre Function de ce membre doit être défini sur AVC_FUNCTION_FIND_PEER_DO à partir de l’énumération AVC_FUNCTION.

PeerLocator
Spécifie les instances non virtuelles (homologues) de avc.sys.

Cette fonction localise unavc.sysnon virtuel instance en fonction de l’adresse de nœud de l’appareil qu’elle représente. Si un instance est introuvable, l’IRP se termine par une status de STATUS_UNSUCCESSFUL. Une fois qu’un instance est trouvé, l’appelant peut envoyer des demandes d’interface d’appareil GUID_AVC_CLASS via l’objet . L’appelant doit libérer la référence à cet objet (via ObDereferenceObject) lorsqu’il a terminé.

Ce code de fonction peut être appelé dans IRQL <= DISPATCH_LEVEL.

Voir aussi

AVC_MULTIFUNC_IRB

AVC_PEER_DO_LOCATOR

AVC_FUNCTION

ObDereferenceObject