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

另请参阅

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