DDSURFACEDATA 結構 (dxmini.h)
DirectDraw 會使用 DDSURFACEDATA 結構來代表核心模式迷你埠驅動程式的介面。
語法
typedef struct _DDSURFACEDATA {
DWORD ddsCaps;
DWORD dwSurfaceOffset;
ULONG_PTR fpLockPtr;
DWORD dwWidth;
DWORD dwHeight;
LONG lPitch;
DWORD dwOverlayFlags;
DWORD dwOverlayOffset;
DWORD dwOverlaySrcWidth;
DWORD dwOverlaySrcHeight;
DWORD dwOverlayDestWidth;
DWORD dwOverlayDestHeight;
DWORD dwVideoPortId;
DWORD dwFormatFlags;
DWORD dwFormatFourCC;
DWORD dwFormatBitCount;
DWORD dwRBitMask;
DWORD dwGBitMask;
DWORD dwBBitMask;
ULONG dwDriverReserved1;
ULONG dwDriverReserved2;
ULONG dwDriverReserved3;
ULONG dwDriverReserved4;
} DDSURFACEDATA, *LPDDSURFACEDATA;
成員
ddsCaps
指向包含用來描述表面之建立功能的 DDSCAPS 結構。
dwSurfaceOffset
指定從框架緩衝區開頭到介面開頭的位元組位移。 此欄位僅供迷你埠驅動程式使用。
fpLockPtr
指向表面的開頭。
dwWidth
指定表面寬度,以圖元為單位。
dwHeight
指定表面高度,以圖元為單位。
lPitch
指定表面間距,以位元組為單位。
dwOverlayFlags
指出一組旗標,指定DdUpdateOverlay所設定的目前使用者模式DDOVER_Xxx旗標。 這個成員是下列任何值的位 OR:
旗標 | 意義 |
---|---|
DDOVER_ADDDIRTYRECT | 將已變更的矩形新增至模擬的覆寫表面。 |
DDOVER_ALPHADEST | 使用像素格式的 Alpha 資訊,或附加至目的地介面的 Alpha 色板作為這個重迭的 Alpha 色板。 |
DDOVER_ALPHADESTCONSTOVERRIDE | 使用 DDOVERLAYFX 結構的 dwAlphaDestConst 成員做為此重迭的目的地 Alpha 通道。 DDOVERLAYFX 結構定義于 ddraw.h中。 |
DDOVER_ALPHADESTNEG | 當 Alpha 值增加 (0 不) 透明時,目的地介面會變得更透明。 |
DDOVER_ALPHADESTSURFACEOVERRIDE | 使用 DirectDraw SDK 檔中定義的 DDOVERLAYFX (結構 lpDDSAlphaDest 成員,) 做為此重迭的 Alpha 通道目的地。 |
DDOVER_ALPHAEDGEBLEND | 使用 DirectDraw SDK 檔中定義之 DDOVERLAYFX (結構的 dwAlphaEdgeBlend 成員,) 做為框線色彩索引鍵色彩之影像邊緣的 Alpha 色板。 |
DDOVER_ALPHASRC | 使用像素格式的 Alpha 資訊,或附加至來源介面的 Alpha 色板作為這個重迭的來源 Alpha 色板。 |
DDOVER_ALPHASRCCONSTOVERRIDE | 使用 DirectDraw SDK 檔中定義之 DDOVERLAYFX 結構的 dwAlphaSrcConst 成員 (,) 作為此重迭的來源 Alpha 通道。 |
DDOVER_ALPHASRCNEG | 當 Alpha 值增加 (0 不) 透明時,來源表面會變得更透明。 |
DDOVER_ALPHASRCSURFACEOVERRIDE | 使用 DirectDraw SDK 檔中定義之 DDOVERLAYFX (結構的 lpDDSAlphaSrc 成員,) 作為此重迭的 Alpha 通道來源。 |
DDOVER_AUTOFLIP | 每次發生硬體視訊埠 VSYNC 時,自動翻轉至翻轉鏈結中的下一個介面。 |
DDOVER_BOB | 個別顯示交錯視訊串流的每個欄位,而不會造成任何成品。 |
DDOVER_BOBHARDWARE | Bob 是使用硬體而非軟體或模擬來執行。 |
DDOVER_DDFX | 使用重迭 FX 旗標來定義特殊重迭效果。 |
DDOVER_HIDE | 關閉此重迭。 |
DDOVER_INTERLEAVED | 表面記憶體是由交錯的欄位所組成。 |
DDOVER_KEYDEST | 使用與目的地介面相關聯的色彩索引鍵。 |
DDOVER_KEYDESTOVERRIDE | 使用 DirectDraw SDK 檔中定義的 DDOVERLAYFX (結構 dckDestColorkey 成員,) 作為目的地介面的色彩索引鍵。 |
DDOVER_KEYSRC | 使用與來源介面相關聯的色彩索引鍵。 |
DDOVER_KEYSRCOVERRIDE | 使用 DirectDraw SDK 檔中定義的 DDOVERLAYFX 結構 dckSrcColorkey 成員 (,) 作為來源介面的色彩索引鍵。 |
DDOVER_OVERRIDEBOBWEAVE | Bob 和 weave 決策不應由其他介面覆寫。 如果設定此旗標,DirectDraw 不允許核心模式驅動程式使用核心模式視訊傳輸功能,在 bob 和 weave 模式之間切換硬體。 |
DDOVER_REFRESHALL | 在模擬的重繪表面上重新繪製整個表面。 |
DDOVER_REFRESHDIRTYRECTS | 在模擬的重迭表面上重新繪製所有已變更的矩形。 |
DDOVER_SHOW | 開啟此重迭。 |
dwOverlayOffset
指定從框架緩衝區開頭到重迭開頭的位元組位移。 此欄位僅供迷你埠驅動程式使用。
dwOverlaySrcWidth
指定重迭來源寬度,以圖元為單位。 此欄位僅供迷你埠驅動程式使用。
dwOverlaySrcHeight
指定重迭來源高度,以圖元為單位。 此欄位僅供迷你埠驅動程式使用。
dwOverlayDestWidth
指定重迭目的地寬度,以圖元為單位。 此欄位僅供迷你埠驅動程式使用。
dwOverlayDestHeight
指定重迭目的地高度,以圖元為單位。 此欄位僅供迷你埠驅動程式使用。
dwVideoPortId
如果此介面是由 視訊埠延伸模組 (VPE) 物件所饋送,此欄位會指出 VPE 物件的識別碼,此範圍中的整數 (0 - (硬體視訊埠數目上限 -1 ) ) ;否則,此欄位為 -1。
dwFormatFlags
指定一組像素格式控制項旗標。 這個成員是下列任何值的位 OR:
旗標 | 意義 |
---|---|
DDPF_ALPHA | 像素格式描述僅限 Alpha 表面。 |
DDPF_ALPHAPIXELS | 表面具有像素格式的 Alpha 色板資訊。 |
DDPF_ALPHAPREMULT | 圖元中的色彩元件會由圖元中的 Alpha 值預先乘以。 如果設定此旗標,也必須設定DDPF_ALPHAPIXELS旗標。 如果未設定此旗標,但已設定DDPF_ALPHAPIXELS旗標,則像素格式的色彩元件不會由 Alpha 預先乘以。 在此情況下,色彩元件必須在執行 Alpha 混合作業時乘以 Alpha 值。 |
DDPF_BUMPDUDV | 像素格式的凸凸地圖 dUdV 資料有效。 |
DDPF_BUMPLUMINANCE | 像素格式的亮度資料有效。 此旗標會在凸凸圖表面上掛開亮度時使用。 然後,圖元之亮度部分的位元遮罩會由DDPIXELFORMAT結構的dwBumpLuminanceBitCount成員表示。 |
DDPF_COMPRESSED | 介面會接受指定格式的圖元資料,並在寫入作業期間加以壓縮。 |
DDPF_FOURCC | FOURCC程式碼有效。 |
DDPF_LUMINANCE | 像素格式的亮度資料有效。 此旗標僅用於亮度或亮度加上 Alpha 表面;然後,位深度會以DDPIXELFORMAT結構的dwLuminanceBitCount成員表示。 |
DDPF_PALETTEINDEXED1 | 表面是 1 位的色彩索引。 |
DDPF_PALETTEINDEXED2 | 表面為 2 位的色彩索引。 |
DDPF_PALETTEINDEXED4 | 表面為 4 位的色彩索引。 |
DDPF_PALETTEINDEXED8 | 表面為 8 位的索引色彩。 |
DDPF_PALETTEINDEXEDTO8 | 表面是 1、2 位或 4 位色彩,索引為 8 位調色盤。 |
DDPF_RGB | 像素格式結構的 RGB 資料有效。 |
DDPF_RGBTOYUV | 介面會接受 RGB 資料,並在寫入作業期間將它轉譯為 YUV 資料。 要寫入的資料格式將會包含在像素格式結構中。 將會設定DDPF_RGB旗標。 |
DDPF_STENCILBUFFER | 表面包含樣板資訊以及 Z 資訊。 |
DDPF_YUV | 像素格式結構的 YUV 資料有效。 |
DDPF_ZBUFFER | 像素格式描述僅限 z 緩衝區的介面。 |
DDPF_ZPIXELS | 表面為 RGBZ 格式。 |
dwFormatFourCC
指定 FOURCC 程式碼。
dwFormatBitCount
指定每個圖元的位數, (4、8、16、24 或 32) 。
dwRBitMask
指定紅色位元遮罩。
dwGBitMask
指定綠色位元遮罩。
dwBBitMask
指定藍色位元遮罩。
dwDriverReserved1
保留給 HAL/Miniport
dwDriverReserved2
保留給 HAL/Miniport
dwDriverReserved3
保留給 HAL/Miniport
dwDriverReserved4
保留供迷你埠驅動程式使用。
需求
標頭 | dxmini.h (包含 Dxmini.h) |