KSPROCESSPIN 结构 (ks.h)

KSPROCESSPIN 结构描述特定引脚的进程状态。

语法

typedef struct _KSPROCESSPIN {
  PKSPIN            Pin;
  PKSSTREAM_POINTER StreamPointer;
  PKSPROCESSPIN     InPlaceCounterpart;
  PKSPROCESSPIN     DelegateBranch;
  PKSPROCESSPIN     CopySource;
  PVOID             Data;
  ULONG             BytesAvailable;
  ULONG             BytesUsed;
  ULONG             Flags;
  BOOLEAN           Terminate;
} KSPROCESSPIN, *PKSPROCESSPIN;

成员

Pin

指向 KSPROCESSPIN 结构所描述的 KSPIN 结构的指针。 结构中的所有内容都引用此 KSPIN。

StreamPointer

指向 KSSTREAM_POINTER 结构的指针,该结构指向当前输入位置处的输入流或当前输出位置的输出流。 例如,可以通过输出引脚将信息戳记到关联的 KSSTREAM_HEADER(ProcessPin->StreamPointer->StreamHeader->Flags=...)中。

InPlaceCounterpart

指向 KSPROCESSPIN 结构的指针。 如果此 KSPROCESSPIN 不属于 转换,AVStream 会将 inPlaceCounterpart 设置为 NULL。 如果此 KSPROCESSPIN 是就地转换的输入,InPlaceCounterpart 指向转换的输出进程引脚。 如果此 KSPROCESSPIN 是就地转换的输出,InPlaceCounterpart 指向转换的输入进程引脚。

DelegateBranch

指向 KSPROCESSPIN 结构的指针。 如果从此 KSPROCESSPIN 中传出的帧正在拆分并发送到多个接收器引脚,并且拆分不会导致数据复制(即拆分以只读方式发送帧,并且所有拆分引脚实例位于同一管道中),DelegateBranch 指向进程引脚的第一个实例。 拆分器会自动处理具有非NULLDelegateBranch的任何进程引脚。

CopySource

指向 KSPROCESSPIN 结构的指针。 如果从此进程引脚传出的帧被拆分并发送到多个接收器引脚,导致数据复制(即下游筛选器之一是使用就地转换修改数据帧),CopySource 指向从中复制帧的进程引脚。 拆分器会自动处理具有非NULLCopySource的任何进程引脚。

Data

指向缓冲区的指针。 如果此过程条目描述的引脚是输入引脚,数据 指向要输入的下一个可用数据字节。 如果此进程条目描述的引脚是输出引脚,数据 指向在其中放置已处理数据的输出缓冲区。

BytesAvailable

此成员指定 Data中可用的数据字节数。

BytesUsed

此成员指定进程函数使用此数据帧的字节数。 AVStream 驱动程序应将此成员设置为更新读取或写入的读取量。

Flags

如果此 KSPROCESSPIN 是输入引脚,则此成员包含相关 KSSTREAM_HEADER 结构中的标志的副本。

Terminate

此成员指示在进程调度完成后是否应在下游发送当前数据帧。 如果 TRUE,则即使尚未使用所有数据,帧也会向下游发送。 如果 FALSE,则在使用所有数据之前不会释放帧。

言论

KSPROCESSPIN 结构用于以筛选器为中心的 处理 模型。 可以使用此结构访问特定输入引脚上的数据,或将处理的数据写出到输出引脚。

仅以筛选器为中心的客户端使用进程引脚。 此外,具有非NULLDelegateBranch 或非NULLCopySource 的进程引脚通常不关心客户端。 拆分器使用这些指针自动处理进程引脚。

大多数客户端都关注成员 固定数据BytesAvailableBytesUsed标志终止。 可以通过 数据 成员从流中读取数据或写入流;BytesAvailable 告知客户端当前数据帧(缓冲区)中有多少字节可用,数据 指向。 当客户端微型驱动程序读取流或写入流时,应更新 BytesUsed 以反映已使用的数据字节数。 如果微型驱动程序使用当前帧完成,则可以设置 终止 标志,尽管 BytesUsed 不等于 BytesAvailable。 微型驱动程序退出处理调度后,指针是高级的,帧会相应地完成。

要求

要求 价值
最低支持的客户端 在 Microsoft Windows XP 及更高版本的作系统和 Microsoft DirectX 8.0 及更高版本中提供。
标头 ks.h (包括 Ks.h)

另请参阅

KSPIN

KSPROCESSPIN_INDEXENTRY

KSSTREAM_HEADER

KSSTREAM_POINTER