// hdaudio.h
typedef struct _HDAUDIO_CODEC_COMMAND {
union {
struct {
ULONG Data : 8;
ULONG VerbId : 12;
ULONG Node : 8;
ULONG CodecAddress : 4;
} Verb8;
struct {
ULONG Data : 16;
ULONG VerbId : 4;
ULONG Node : 8;
ULONG CodecAddress : 4;
} Verb16;
ULONG Command;
};
} HDAUDIO_CODEC_COMMAND, *PHDAUDIO_CODEC_COMMAND;
View the official Windows Driver Kit DDI referenceNo description available.
The HDAUDIO_CODEC_COMMAND structure specifies a codec command.
Verb8Specifies an 8-bit payload command format. The members in the following table are part of the Verb8 structure.
Verb8.DataSpecifies an 8-bit data payload value for the 8-bit payload command format.
Verb8.VerbIdSpecifies a 12-bit verb identifier for the 8-bit payload command format.
Verb8.NodeSpecifies an 8-bit node identifier for the 8-bit payload command format.
Verb8.CodecAddressSpecifies a 4-bit codec address for the 8-bit payload command format.
Verb16Specifies an 16-bit payload command format. The members in the following table are part of the Verb16 structure.
Verb16.DataSpecifies an 16-bit data payload value for the 16-bit payload command format.
Verb16.VerbIdSpecifies a 4-bit verb identifier for the 16-bit payload command format.
Verb16.NodeSpecifies an 8-bit node identifier for the 16-bit payload command format.
Verb16.CodecAddressSpecifies a 4-bit codec address for the 16-bit payload command format.
CommandSpecifies a 32-bit codec command that contains payload data, a verb identifier, a node identifier, and a codec address.
Clients call the TransferCodecVerbs routine to pass commands to codecs. The commands are in the HDAUDIO_CODEC_TRANSFER structures that clients pass to this routine as call parameters. Before calling TransferCodecVerbs, function drivers can use the HDAUDIO_CODEC_COMMAND structure to encode the codec commands.
The validity of individual members depends on the type of command sent.