共用方式為


DD_FLIPDATA結構 (ddrawint.h)

DD_FLIPDATA 結構包含執行翻轉所需的資訊。

語法

typedef struct _DD_FLIPDATA {
  PDD_DIRECTDRAW_GLOBAL lpDD;
  PDD_SURFACE_LOCAL     lpSurfCurr;
  PDD_SURFACE_LOCAL     lpSurfTarg;
  DWORD                 dwFlags;
  HRESULT               ddRVal;
  VOID                  *Flip;
  PDD_SURFACE_LOCAL     lpSurfCurrLeft;
  PDD_SURFACE_LOCAL     lpSurfTargLeft;
} *PDD_FLIPDATA, DD_FLIPDATA;

成員

lpDD

指向描述驅動程式裝置 的DD_DIRECTDRAW_GLOBAL 結構。

lpSurfCurr

指向描述目前表面 的DD_SURFACE_LOCAL 結構。

lpSurfTarg

指向描述目標介面的DD_SURFACE_LOCAL結構;也就是說,驅動程式應該翻轉的介面。

dwFlags

指出一組旗標,提供驅動程式翻轉的詳細數據。 此成員可以是下列旗標的位 OR:

旗標 意義
DDFLIP_DONOTWAIT 指定在快捷鍵忙碌時傳回DDERR_WASSTILLDRAWING。 預設值為 DDFLIP_WAIT。
DDFLIP_EVEN lpSurfTarg 成員指向的介面只包含視訊數據的偶數位段。 只有當表面是重疊,而且互斥DDFLIP_ODD時,這個旗標才有效。
DDFLIP_ODD lpSurfTarg 成員指向的介面只包含視訊數據的奇數位段。 只有當表面是重疊,而且互斥DDFLIP_EVEN時,這個旗標才有效。
DDFLIP_NOVSYNC 驅動程式應該執行翻轉並立即傳回。 一般而言,目前後台緩衝區 (,用來做為前端緩衝區) 仍會顯示,直到下一個垂直回溯為止。 涉及 lpSurfCurrlpSurfTarg 成員點之表面的後續作業不會檢查實體翻轉是否已完成。 這可讓應用程式以高於監視器重新整理速率的頻率執行翻轉,雖然它可能會引入可見的成品。
DDFLIP_INTERVAL2 驅動程式應該在所有其他垂直同步處理上執行翻轉。它應該會傳回DDERR_WASSTILLDRAWING,直到發生第二個垂直回溯為止。 此旗標互斥DDFLIP_INTERVAL3和DDFLIP_INTERVAL4。
DDFLIP_INTERVAL3 驅動程式應該在每個第三個垂直同步處理上執行翻轉。它應該會傳回DDERR_WASSTILLDRAWING,直到發生第三個垂直回溯為止。 此旗標互斥DDFLIP_INTERVAL2和DDFLIP_INTERVAL4。
DDFLIP_INTERVAL4 驅動程式應該在每個四個垂直同步處理上執行翻轉。它應該會傳回DDERR_WASSTILLDRAWING,直到發生第四個垂直回溯為止。 此旗標互斥DDFLIP_INTERVAL2和DDFLIP_INTERVAL3。
DDFLIP_STEREO 指定在每個螢幕重新整理) 期間,啟用立體自動滑動 (硬體會在左右緩衝區之間自動翻轉。
DDFLIP_WAIT 指定在翻轉或發生錯誤之前不傳回。

ddRVal

指定驅動程式寫入 DdFlip 回呼傳回值的位置。 DD_OK的傳回碼表示成功。 如需詳細資訊,請參閱 DirectDraw 的傳回值

Flip

由 Microsoft DirectDraw API 使用,且不應由驅動程式填入。

lpSurfCurrLeft

指向描述目前左表面 的DD_SURFACE_LOCAL 結構。

lpSurfTargLeft

指向描述要翻轉之左目標介面的DD_SURFACE_LOCAL結構。

規格需求

需求
標頭 ddrawint.h (包含 Winddi.h)

另請參閱

DdFlip