AVC_FUNCTION_GET_PIN_DESCRIPTOR
Le code de fonction AVC_FUNCTION_GET_PIN_DESCRIPTOR obtient le descripteur de broche pour chaque ID de broche (décalage par rapport à zéro).
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 PinDescriptor de la structure AVC_MULTIFUNC_IRB comme indiqué ci-dessous.
typedef struct _AVC_MULTIFUNC_IRB {
AVC_IRB Common;
union {
.
.
.
AVC_PIN_DESCRIPTOR PinDescriptor;
.
.
.
};
} 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_GET_PIN_DESCRIPTOR à partir de l’énumération AVC_FUNCTION.
PinDescriptor
Spécifie la description d’une broche sur un appareil de sous-unité AV/C.
Ce code de fonction n’est pas pris en charge par les instances virtuelles de avc.sys.
En plus du descripteur d’épingle, cette fonction peut également retourner l’adresse d’un gestionnaire d’intersection et une valeur de contexte opaque associée au gestionnaire d’intersection. Si le membre du gestionnaire d’intersection a la valeur NULL, le pilote de sous-unité doit fournir un gestionnaire d’intersection. Si le membre du gestionnaire d’intersection n’est pas NULL, un gestionnaire d’intersection est fourni et le pilote peut l’utiliser.
Avc.sys ne fournit jamais d’intersection de données, mais un pilote de filtre (par exemple, avcstrm.sys) la remplit à mesure que la demande est en cours de sauvegarde via la pile.
Cela doit être appelé à l’adresse IRQL = PASSIVE_LEVEL.