Partager via


AVC_FUNCTION_GET_UNIQUE_ID

Le code de fonction AVC_FUNCTION_GET_UNIQUE_ID obtient l’ID unique de l’unité AV/C.

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_TIMEOUT La demande a été faite, mais aucune réponse n’a été reçue avant la fin du délai d’attente et le traitement des nouvelles tentatives.
STATUS_REQUEST_ABORTED Abandon immédiat lorsque le status d’achèvement IRP est STATUS_REQUEST_ABORTED. Cela indique que l’appareil a été supprimé ou n’est plus disponible sur le bus 1394.
STATUT_* Tout autre code de retour indique qu’une erreur ou un avertissement s’est produit au-delà de l’étendue du protocole AV/C.

Commentaires

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

typedef struct _AVC_MULTIFUNC_IRB {
  AVC_IRB  Common;
  union {
    .
    .
    .
    AVC_UNIQUE_ID UniqueID;
 .
    .
    .
  };
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;

Les membres de la structure AVC_UNIQUE_ID sont indiqués ci-dessous :

typedef struct _AVC_UNIQUE_ID {
    OUT GUID DeviceID;
} AVC_UNIQUE_ID, *PAVC_UNIQUE_ID;

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_GET_UNIQUE_ID à partir de l’énumération AVC_FUNCTION.

Uniqueid
Spécifie un GUID représentant l’unité dans son ensemble. Toutes les sous-unités au sein d’une même unité partagent le même GUID. Deux unités ne partagent pas le même GUID.

Ce code de fonction n’est pas pris en charge par les instances virtuelles de avc.sys.

Le pilote de sous-unité utilise cette fonction s’il doit signaler le GUID d’appareil à une application de contrôle (une application qui doit savoir laquelle des nombreuses instances de pilotes de sous-unité appartiennent à la même unité) ou s’il crée ses propres structures AVCPRECONNECTINFO pour les plugs externes.

Cela doit être appelé à l’adresse IRQL = PASSIVE_LEVEL.

Voir aussi

AVC_MULTIFUNC_IRB

AVC_UNIQUE_ID

AVCPRECONNECTINFO

AVC_FUNCTION