avcstrm.h) (AVC_STREAM_REQUEST_BLOCK 结构
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
定义 AVCSTRM_OPEN_STRUCT 成员 OpenStruct。
CommandData.BufferStruct
定义 AVCSTRM_BUFFER_STRUCT 成员 BufferStruct。
_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 服务的请求 (功能) 。
要求
要求 | 值 |
---|---|
Header | avcstrm.h (包括 Avcstrm.h) |