Share via


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

緩衝區的指標。 如果此進程專案所描述的針腳是輸入針腳, 則數據 會指向下一個可供輸入的數據位元組。 如果這個進程專案所描述的針腳是輸出針腳, Data 會指向放置已處理數據的輸出緩衝區。

BytesAvailable

此成員會指定 Data 中可用的數據位元組數目。

BytesUsed

這個成員會指定進程函式已使用此數據框架的位元組數目。 AVStream 驅動程式應該將此成員設定為更新已讀取或寫入多少。

Flags

如果此 KSPROCESSPIN 是輸入針腳,這個成員會包含來自 相關KSSTREAM_HEADER 結構的旗標複本。

Terminate

這個成員指出進程分派完成之後,目前的數據框架是否應該在下游傳送。 如果 為 TRUE,即使尚未取用所有數據,框架仍會傳送至下游。 如果為 FALSE,則在取用所有數據之前,不會釋放框架。

備註

KSPROCESSPIN 結構用於 以篩選為中心的處理 模型中。 您可以使用這個結構來存取特定輸入針腳上的數據,或將已處理的數據寫出至輸出針腳。

只有以篩選為主的用戶端會使用進程釘選。 此外,具有非 NULLDelegateBranch 或非 NULLCopySource 的進程針腳通常不涉及用戶端。 分隔器會自動處理具有這些指標的進程針腳。

大部分用戶端都與 成員 PinDataBytesAvailableBytesUsedFlagsTerminate 有關。 您可以從數據流讀取數據,或透過 數據 成員寫入數據流; BytesAvailable 會告知用戶端目前數據框架中有多少位元組可用, (緩衝區) 該 Data 指向的數據。 當用戶端迷你驅動程式從數據流讀取或寫入時,應該更新 BytesUsed 以反映已取用的數據位元組數目。 即使 BytesUsed 不等於 BytesAvailable,仍可使用目前的框架完成迷你驅動程式,則可以設定 Terminate 旗標。 在迷你驅動程序結束處理分派之後,指標會進階,並視需要完成畫面格。

規格需求

需求
最低支援的用戶端 可在 Microsoft Windows XP 和更新版本的作業系統和 Microsoft DirectX 8.0 和更新版本中使用。
標頭 ks.h (包含 Ks.h)

另請參閱

KSPIN

KSPROCESSPIN_INDEXENTRY

KSSTREAM_HEADER

KSSTREAM_POINTER