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_STATEAVCSTRM_SET_STATE 函数代码一起使用。
OpenStruct 指定要打开的流的说明。 这与 AVCSTRM_OPEN 函数代码一起使用。
BufferStruct 指定用于从/向指定流读取或写入数据的缓冲区的说明。 这与 AVCSTRM_READAVCSTRM_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)

另请参阅

AVCSTRM_ABORT_STREAMING

AVCSTRM_BUFFER_STRUCT

AVCSTRM_CLOSE

AVCSTRM_FUNCTION

AVCSTRM_GET_PROPERTY

AVCSTRM_GET_STATE

AVCSTRM_OPEN

AVCSTRM_OPEN_STRUCT

AVCSTRM_READ

AVCSTRM_SET_PROPERTY

AVCSTRM_SET_STATE

AVCSTRM_WRITE

KSSTATE