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 的程式釘選通常並不關心用戶端。 分隔器會使用這些指標自動處理進程針腳。
大部分用戶端都關注 釘選、Data、BytesAvailable、BytesUsed、旗標和 終止的成員。 您可以從數據流讀取數據,或透過 Data 成員寫入數據流;BytesAvailable 告訴用戶端,目前數據框架中有多少位元組可用,Data 指向。 當用戶端 minidriver 讀取或寫入數據流時,應該更新 BytesUsed,以反映已取用的數據位元組數。 即使 BytesUsed 不等於 BytesAvailable,還是可以設定 Terminate 旗標。 迷你驅動程序結束處理分派之後,指標會進階,並視需要完成畫面格。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Microsoft Windows XP 和更新版本的作系統,以及 Microsoft DirectX 8.0 和更新版本。 |
標頭 | ks.h (包括 Ks.h) |