Partager via


structure HDAUDIO_CODEC_RESPONSE (hdaudio.h)

La structure HDAUDIO_CODEC_RESPONSE spécifie une réponse à une commande de codec ou une réponse non sollicitée d’un codec.

Syntaxe

typedef struct _HDAUDIO_CODEC_RESPONSE {
  union {
    struct {
      union {
        struct {
          ULONG Response : 21;
          ULONG SubTag : 5;
          ULONG Tag : 6;
        } Unsolicited;
        ULONG Response;
      };
      ULONG SDataIn : 4;
      ULONG IsUnsolicitedResponse : 1;
      ULONG HasFifoOverrun : 1;
      ULONG IsValid : 1;
    };
    ULONGLONG CompleteResponse;
  };
} HDAUDIO_CODEC_RESPONSE, *PHDAUDIO_CODEC_RESPONSE;

Membres

Unsolicited

Spécifie une valeur de réponse non sollicitée 32 bits qui se compose d’une valeur de réponse 26 bits et d’une valeur d’étiquette 6 bits.

Unsolicited.Response

Spécifie une valeur de réponse non sollicitée 21 bits.

Unsolicited.SubTag

Spécifie une sous-balise 5 bits.

Unsolicited.Tag

Spécifie une valeur de balise 6 bits pour une réponse non sollicitée.

Response

Spécifie une valeur de réponse.

SDataIn

Spécifie l’adresse de codec 4 bits (ligne SDI) du codec qui génère la réponse.

IsUnsolicitedResponse

Spécifie si la réponse n’est pas sollicitée. Si 1, la réponse n’est pas sollicitée. Si 0, la réponse est sollicitée (autrement dit, une réponse à une commande de codec).

HasFifoOverrun

Spécifie si un dépassement FIFO s’est produit dans la mémoire tampon d’anneau d’entrée de réponse (RIRB). Si 1, un dépassement fiFO s’est produit. Si 0, un dépassement fiFO n’a pas eu lieu.

IsValid

Spécifie si la réponse est valide. Si 1, la réponse est valide. Si 0, il n’est pas valide.

CompleteResponse

Spécifie un résumé complet de réponse 64 bits qui se compose d’une réponse 32 bits, d’une adresse de codec 4 bits, de trois bits d’état et de 25 bits inutilisés (défini sur zéro). Cette valeur est principalement utilisée dans les messages de débogage.

Remarques

Après avoir appelé la routine TransferCodecVerbs, les pilotes de fonction peuvent utiliser la structure HDAUDIO_CODEC_RESPONSE pour décoder les réponses à leurs commandes codec. Les commandes sont contenues dans les structures HDAUDIO_CODEC_TRANSFER que les clients passent à cette routine en tant que paramètres d’appel.

Le rappel de la routine RegisterEventCallback utilise également la structure HDAUDIO_CODEC_RESPONSE.

La plupart des membres de cette structure contiennent des valeurs générées par le matériel que le pilote de bus copie directement à partir de l’entrée RIRB correspondante. Les deux exceptions sont les valeurs de l'IsValid et membres HasFifoOverrun, que le logiciel du pilote de bus écrit dans la structure pour indiquer l’état d’erreur de la réponse. Pour plus d’informations sur le format d’entrée RIRB, consultez la spécification d’Intel High Definition Audio sur le site web Intel HD Audio.

Si IsValid=0, l’une des opérations suivantes s’est produite :

  • Si HasFifoOverrun=1, le FIFO RIRB a débordé.
  • Si HasFifoOverrun=0, le codec n’a pas pu répondre.
Le champ 25 bits sans nom entre le non sollicité et hasFifoOverrun membres sont réservés à l’expansion future. Le contrôleur de bus AUDIO HD écrit actuellement des zéros dans ce champ.

Exigences

Exigence Valeur
d’en-tête hdaudio.h (include Hdaudio.h)

Voir aussi

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs