共用方式為


KS_FRAME_INFO結構 (ksmedia.h)

KS_FRAME_INFO 結構會擴充視訊串流 KSSTREAM_HEADER 結構。

語法

typedef struct tagKS_FRAME_INFO {
  ULONG    ExtendedHeaderSize;
  DWORD    dwFrameFlags;
  LONGLONG PictureNumber;
  LONGLONG DropCount;
  HANDLE   hDirectDraw;
  HANDLE   hSurfaceHandle;
  RECT     DirectDrawRect;
  union {
    LONG  lSurfacePitch;
    DWORD Reserved1;
  };
  DWORD    Reserved2;
  union {
    struct {
      DWORD Reserved3;
      DWORD Reserved4;
    };
    ULONGLONG FrameCompletionNumber;
  };
} KS_FRAME_INFO, *PKS_FRAME_INFO;

成員

ExtendedHeaderSize

指定這個結構的大小,以位元組為單位。

dwFrameFlags

指定旗標,指出擷取框架的其他資訊。 在擷取期間,minidriver 會將這個成員設定為 ksmedia.h中定義的下列其中一個值:

意義
KS_VIDEO_FLAG_FRAME 表示完整的框架。
KS_VIDEO_FLAG_FIELD1 表示雙欄位序列的欄位 1。
KS_VIDEO_FLAG_FIELD2 表示雙欄位序列的欄位 2。
KS_VIDEO_FLAG_I_FRAME 表示此框架可以完全譯碼,而不參考任何其他畫面格。
KS_VIDEO_FLAG_P_FRAME 表示這是預測的框架。
KS_VIDEO_FLAG_B_FRAME 表示這是雙向框架。

PictureNumber

指定代表目前圖片編號的計數。 在轉換至 KSSTATE_ACQUIRE 時初始化或更新此值。

DropCount

指定未擷取的圖片數目。 在擷取期間,迷你驅動程式會設定此成員。 每當應該擷取框架但不是時,應該遞增此計數器;當擷取期間沒有可用的緩衝區時,通常會發生此狀況。 在轉換至 KSSTATE_ACQUIRE 時初始化或更新此值。

hDirectDraw

指定 DirectDraw 的使用者模式句柄。 只有在擷取至 DirectDraw 介面以供預覽或重疊之用時,才會提供此句柄給迷你驅動程式。

hSurfaceHandle

指定 DirectDraw 介面的使用者模式句柄。 只有在擷取至 DirectDraw 介面以供預覽或重疊之用時,才會提供此句柄給迷你驅動程式。

DirectDrawRect

指定已鎖定之 DirectDraw 介面的部分。 這通常是整個表面。

lSurfacePitch

包含表面傾斜(也稱為步幅)。

Reserved1

迷你驅動程式不應使用保留和 。

Reserved2

迷你驅動程式不應使用保留和 。

Reserved3

迷你驅動程式不應使用保留和 。

Reserved4

迷你驅動程式不應使用保留和 。

FrameCompletionNumber

已完成佇列中框架的識別序號。 此數位用來驗證適當的畫面順序。 當此值為 0 時,框架已取消。

從 Windows 8.1 開始,即可使用此成員。

言論

KS_FRAME_INFO 結構提供傳回所擷取框架相關信息的方法,以及將擷取至 DirectDraw 介面時所使用的Microsoft DirectDraw 句柄。

PictureNumber 成員計數代表目前圖片的計數,這是根據裝置以兩種方式之一計算:

  • 測量串流啟動後的時間,並除以框架持續時間。 此方法適用於未提供其時鐘的裝置。 例如:

    PictureNumber = ElapsedTime / FrameDuration;
    
  • 將擷取的畫面計數和框架捨棄的計數加在一起。 這個方法適用於提供自己時鐘的裝置。 例如:

    PictureNumber = FramesCaptured + FramesDropped;
    

計算 PictureNumberDropCount時,請務必使用在開啟數據流時指定的畫面持續時間,這可能不一定符合裝置實際產生影像的速率。 例如,USB 相機只能產生 7.5 fps 的影像,但用戶端可以在 8 fps 開啟數據流。 在此情況下,所有計算都應該使用8 fps數位。

如需更新 PictureNumberDropCount 的詳細資訊,請參閱 擷取影片

要求

要求 價值
標頭 ksmedia.h (包括 Ksmedia.h)

另請參閱

KSSTREAM_HEADER