AVC_STREAM_REQUEST_BLOCK結構 (avcstrm.h)
AVC_STREAM_REQUEST_BLOCK結構描述要由 avcstrm.sys處理的AV/C串流要求。
typedef struct _AVC_STREAM_REQUEST_BLOCK {
ULONG SizeOfThisBlock;
ULONG Version;
AVCSTRM_FUNCTION Function;
ULONG Flags;
NTSTATUS Status;
PVOID AVCStreamContext;
PVOID Context1;
PVOID Context2;
PVOID Context3;
PVOID Context4;
ULONG Reserved[4];
union {
KSSTATE StreamState;
AVCSTRM_OPEN_STRUCT OpenStruct;
AVCSTRM_BUFFER_STRUCT BufferStruct;
} CommandData;
_tagCommandData _tagCommandData;
} AVC_STREAM_REQUEST_BLOCK, *PAVC_STREAM_REQUEST_BLOCK;
SizeOfThisBlock
指定以位元組為單位的要求區塊大小。 請勿直接設定此值。 請改用 INIT_AVCSTRM_HEADER 巨集。
Version
指定服務要求 avcstrm.sys 設備驅動器介面 (DDI) 的版本。 請勿直接設定此值。 請改用 INIT_AVCSTRM_HEADER 巨集。
Function
表示要求(函式程式代碼)avcstrm.sys 服務。 這必須是來自 AVCSTRM_FUNCTION 列舉的值。 請勿直接設定此值。 請改用 INIT_AVCSTRM_HEADER 巨集。
Flags
特殊旗標,表示特殊服務或標準服務的偏差。 這目前未使用。
Status
此要求的最終狀態。
AVCStreamContext
這是數據流的內容(句柄)。 將此設定為 AVCSTRM_OPEN 函式程式代碼 NULL。 對於其他函式程式代碼,這必須設定為從先前對 AVCSTRM_OPEN 呼叫擷取的有效值。
Context1
用戶端的內容指標。
Context2
用戶端的內容指標。
Context3
用戶端的內容指標。
Context4
用戶端的內容指標。
Reserved[4]
保留。 請勿使用。
CommandData
這是要傳遞至服務 avcstrm.sys 的命令數據聯集。
旗 | 描述 |
---|---|
StreamState | 指定指定數據流的目前狀態。 這與 AVCSTRM_GET_STATE 和 AVCSTRM_SET_STATE 函式程式代碼搭配使用。 |
OpenStruct | 指定要開啟之數據流的描述。 這會與 AVCSTRM_OPEN 函式程式代碼搭配使用。 |
BufferStruct | 指定用來讀取或寫入指定數據流之數據之緩衝區的描述。 這與 AVCSTRM_READ 和 AVCSTRM_WRITE 函式程式代碼搭配使用。 |
CommandData.StreamState
定義 KSSTATE 成員 StreamState。
CommandData.OpenStruct
定義 openStruct AVCSTRM_OPEN_STRUCT 成員。
CommandData.BufferStruct
定義bufferStruct 成員 AVCSTRM_BUFFER_STRUCT 成員。
_tagCommandData
定義 _tagCommandData 成員 _tagCommandData。
AVC_STREAM_REQUEST_BLOCK是子單位驅動程式用來與 avcstrm.sys介面的主要結構。
這個結構會描述每個 AV/C 數據流要求。 此結構會當做 IRP 的一部分傳遞至 service avcstrm.sys。
若要使用此結構,請將 IRP 的 Irp->Parameters->Others.Argument1 成員設定為已配置和初始化AVC_STREAM_REQUEST_BLOCK,描述子單位驅動程式想要 avcstrm.sys 服務的要求(功能)。
要求 | 價值 |
---|---|
標頭 | avcstrm.h (包括 Avcstrm.h) |