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
定义 StreamState KSSTATE 成员。
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,该AVC_STREAM_REQUEST_BLOCK描述子单元驱动程序希望 avcstrm.sys 提供服务的请求(功能)。
要求
要求 | 价值 |
---|---|
标头 | avcstrm.h (包括 Avcstrm.h) |