Partager via


HDAUDIO_CODEC_RESPONSE structure (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 la valeur est 1, la réponse n’est pas sollicitée. Si la valeur est 0, la réponse est sollicitée (c’est-à-dire 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 la valeur est 1, un dépassement FIFO s’est produit. Si la valeur est 0, un dépassement FIFO n’a pas eu lieu.

IsValid

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

CompleteResponse

Spécifie un résumé complet de la réponse 64 bits qui se compose d’une réponse 32 bits, d’une adresse de codec 4 bits, de trois bits status 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 de 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 des membres IsValid et HasFifoOverrun, que le logiciel du pilote de bus écrit dans la structure pour indiquer l’erreur status de la réponse. Pour plus d’informations sur le format d’entrée RIRB, consultez la spécification audio haute définition Intel sur le site web d’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 de 25 bits sans nom entre les membres UnsolicitedResponse et HasFifoOverrun est réservé pour une extension ultérieure. Le contrôleur de bus Audio HD écrit actuellement des zéros dans ce champ.

Configuration requise

Condition requise Valeur
En-tête hdaudio.h (inclure Hdaudio.h)

Voir aussi

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs