struktur AVC_COMMAND_IRB (avc.h)
Struktur AVC_COMMAND_IRB mendefinisikan struktur yang berisi perintah AV/C dan pasangan respons.
Sintaks
typedef struct _AVC_COMMAND_IRB {
AVC_IRB Common;
UCHAR SubunitAddrFlag : 1;
UCHAR AlternateOpcodesFlag : 1;
UCHAR TimeoutFlag : 1;
UCHAR RetryFlag : 1;
union {
UCHAR CommandType;
UCHAR ResponseCode;
};
PUCHAR SubunitAddr;
PUCHAR AlternateOpcodes;
LARGE_INTEGER Timeout;
UCHAR Retries;
UCHAR Opcode;
ULONG OperandLength;
UCHAR Operands[MAX_AVC_OPERAND_BYTES];
NODE_ADDRESS NodeAddress;
ULONG Generation;
} AVC_COMMAND_IRB, *PAVC_COMMAND_IRB;
Anggota
Common
Ini harus diatur ke enumerator AVC_FUNCTION_COMMAND dari enumerasi AVC_FUNCTION.
SubunitAddrFlag
Ini adalah bendera yang menunjukkan apakah anggota SubunitAddr menentukan alamat. Atur ke satu jika ya, jika tidak, atur ke nol.
AlternateOpcodesFlag
Ini adalah bendera yang menunjukkan apakah anggota AlternateOpcodes valid. Atur ke satu jika ya, jika tidak diatur ke nol.
TimeoutFlag
Atur ini ke satu jika waktu habis default tidak sesuai untuk subunit. Jika ini diatur, anggota Timeout harus diatur ke waktu habis yang diinginkan (dalam unit 100-ns).
RetryFlag
Atur ini ke satu jika jumlah coba lagi default tidak sesuai untuk subunit. Jika ini diatur, anggota Coba lagi harus diatur ke jumlah coba lagi yang diinginkan.
CommandType
Ini menentukan nilai dari enumerasi AvcCommandType. Anggota ini hanya digunakan selama AVC_FUNCTION_GET_REQUEST. Hal ini diabaikan sebaliknya.
ResponseCode
Ini menentukan nilai dari enumerasi AvcResponseCode. Anggota ini hanya digunakan selama AVC_FUNCTION_SEND_RESPONSE. Hal ini diabaikan sebaliknya.
SubunitAddr
Atur ini ke alamat memori tidak bertumpuk yang berisi alamat subunit yang diinginkan yang dikodekan sesuai dengan Bagian 5.3.3 dari AV/C Digital Interface Command Set General Specification, Rev 3.0. Tidak ada panjang yang diperlukan karena pengodean alamat subunit menyiratkan ini. Parameter ini diabaikan jika SubunitAddrFlag adalah nol.
AlternateOpcodes
Atur ini ke alamat memori yang tidak dipagasi yang berisi daftar opcode alternatif yang diinginkan. Byte pertama dari daftar opcode adalah jumlah opcode yang harus diikuti (setara dengan jumlah byte). Panjang total memori yang berisi daftar opcode alternatif adalah AlternateOpcodes[0]+1. Parameter ini diabaikan jika AlternateOpcodesFlag adalah nol.
Timeout
Atur ini ke batas waktu yang diinginkan dalam unit 100-ns. Misalnya, nilai batas waktu default adalah: Timeout.QuadPart = 1000000 (100ms dalam unit 100ns). Parameter ini diabaikan jika TimeoutFlag adalah nol.
Retries
Atur ini ke berapa kali yang diinginkanavc.sys harus mencoba mencoba kembali permintaan setelah setiap waktu habis tanpa respons. Perhatikan bahwa jumlah coba lagi nol berarti bahwa permintaan dicoba sekali. Jumlah total waktu yang dihabiskan untuk mencoba memproses perintah tanpa mendapatkan respons adalah Waktu Habis * (Coba Lagi + 1). Parameter ini diabaikan jika RetryFlag adalah nol.
Opcode
Atur ini ke opcode AV/C yang diinginkan (sesuai untuk jenis subunit). Tanggal adalah parameter yang diperlukan. Sebagai respons, jika AlternateOpcodesFlag ditetapkan, dan salah satu opcode alternatif digunakan untuk mencocokkan respons, ini diatur ke opcode alternatif tersebut.
OperandLength
Atur ini ke jumlah byte yang digunakan untuk menyimpan operand di anggota Operand. Tanggal adalah parameter yang diperlukan. Sebagai respons, parameter ini diatur ke jumlah byte dalam daftar operand yang digunakan oleh respons.
Operands[MAX_AVC_OPERAND_BYTES]
Atur ini ke daftar operand yang sesuai untuk jenis subunit dan opcode. Tanggal adalah parameter yang diperlukan. Pada respons, parameter ini berisi daftar operand respons.
NodeAddress
Dicadangkan. Anggota ini harus nol.
Generation
Dicadangkan. Anggota ini harus nol.
Keterangan
Struktur ini digunakan dengan kode fungsi AVC_FUNCTION_COMMAND, AVC_FUNCTION_GET_REQUEST , dan AVC_FUNCTION_SEND_RESPONSE .
Persyaratan
Persyaratan | Nilai |
---|---|
Header | avc.h (sertakan Avc.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk