HDAUDIO_CODEC_RESPONSE 구조체(hdaudio.h)

HDAUDIO_CODEC_RESPONSE 구조체는 코덱 명령에 대한 응답 또는 코덱의 원치 않는 응답을 지정합니다.

구문

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;

멤버

Unsolicited

26비트 응답 값과 6비트 태그 값으로 구성된 32비트 원치 않는 응답 값을 지정합니다.

Unsolicited.Response

21비트 원치 않는 응답 값을 지정합니다.

Unsolicited.SubTag

5비트 SubTag를 지정합니다.

Unsolicited.Tag

원치 않는 응답에 대한 6비트 태그 값을 지정합니다.

Response

응답 값을 지정합니다.

SDataIn

응답을 생성하는 코덱의 4비트 코덱 주소(SDI 줄)를 지정합니다.

IsUnsolicitedResponse

응답이 원치 않는지 여부를 지정합니다. 1이면 응답이 원치 않습니다. 0이면 응답이 요청됩니다(즉, 코덱 명령에 대한 응답).

HasFifoOverrun

RIRB(응답 입력 링 버퍼)에서 FIFO 오버런이 발생했는지 여부를 지정합니다. 1이면 FIFO 오버런이 발생했습니다. 0이면 FIFO 오버런이 발생하지 않았습니다.

IsValid

응답이 유효한지 여부를 지정합니다. 1이면 응답이 유효합니다. 0이면 유효하지 않습니다.

CompleteResponse

32비트 응답, 4비트 코덱 주소, 3개의 상태 비트 및 25개의 사용되지 않는 비트(0으로 설정)로 구성된 완전한 64비트 응답 요약을 지정합니다. 이 값은 주로 디버그 메시지에 사용됩니다.

설명

TransferCodecVerbs 루틴을 호출한 후 함수 드라이버는 HDAUDIO_CODEC_RESPONSE 구조를 사용하여 코덱 명령에 대한 응답을 디코딩할 수 있습니다. 명령은 클라이언트가 호출 매개 변수로 이 루틴에 전달하는 HDAUDIO_CODEC_TRANSFER 구조에 포함됩니다.

RegisterEventCallback 루틴에 대한 콜백은 HDAUDIO_CODEC_RESPONSE 구조도 사용합니다.

이 구조체의 대부분의 멤버는 버스 드라이버가 해당 RIRB 항목에서 직접 복사하는 하드웨어 생성 값을 포함합니다. 두 가지 예외는 버스 드라이버 소프트웨어가 응답의 오류 상태 나타내기 위해 구조체에 쓰는 IsValidHasFifoOverrun 멤버의 값입니다. RIRB 항목 형식에 대한 자세한 내용은 Intel HD 오디오 웹 사이트의 Intel 고화질 오디오 사양을 참조하세요.

IsValid=0이면 다음 중 하나가 발생했습니다.

  • HasFifoOverrun=1이면 RIRB FIFO가 오버플로됩니다.
  • HasFifoOverrun=0이면 코덱이 응답하지 못했습니다.
UnsolicitedResponseHasFifoOverrun 멤버 간의 이름 없는 25비트 필드는 향후 확장을 위해 예약되어 있습니다. HD 오디오 버스 컨트롤러는 현재 이 필드에 0을 씁니다.

요구 사항

요구 사항
헤더 hdaudio.h(Hdaudio.h 포함)

추가 정보

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs