IDirectDrawSurface7 介面 (ddraw.h)

應用程式會使用 IDirectDrawSurface7 介面的方法來建立 DirectDrawSurface 物件,並使用系統層級變數。 本節是這個介面方法的參考。

繼承

IDirectDrawSurface7介面繼承自IUnknown介面。 IDirectDrawSurface7 也有下列類型的成員:

方法

IDirectDrawSurface7介面具有這些方法。

 
IDirectDrawSurface7::AddAttachedSurface

將指定的 z 緩衝區介面附加至這個介面。
IDirectDrawSurface7::AddOverlayDirtyRect

目前未實作 IDirectDrawSurface7::AddOverlayDirtyRect 方法。
IDirectDrawSurface7::Blt

執行位區塊傳輸 (bitblt) 。 此方法不支援在 bitblt 作業期間進行 z 緩衝或 Alpha 混合。
IDirectDrawSurface7::BltBatch

目前未實作 IDirectDrawSurface7::BltBatch 方法。
IDirectDrawSurface7::BltFast

使用來源色彩索引鍵或目的地色彩索引鍵,執行來源複製 bitblt 或透明 bitblt。
IDirectDrawSurface7::ChangeUniquenessValue

手動更新此介面的唯一性值。
IDirectDrawSurface7::D eleteAttachedSurface

卸離一或多個附加介面。
IDirectDrawSurface7::EnumAttachedSurfaces

列舉附加至這個表面的所有表面。
IDirectDrawSurface7::EnumOverlayZOrders

列舉指定目的地上的重迭表面。 您可以列舉前向後或後向前順序中的重迭。
IDirectDrawSurface7::Flip

讓與DDSCAPS_BACKBUFFER介面相關聯的表面記憶體變成與前端緩衝區介面相關聯。
IDirectDrawSurface7::FreePrivateData

釋放與此介面相關聯的指定私用資料。
IDirectDrawSurface7::GetAttachedSurface

取得具有指定功能的附加介面,並遞增所擷取介面的參考計數。
IDirectDrawSurface7::GetBltStatus

取得位區塊傳輸 (bitblt) 作業的狀態。
IDirectDrawSurface7::GetCaps

擷取此介面的功能。 這些功能不一定與顯示裝置的功能相關。
IDirectDrawSurface7::GetClipper

擷取與此表面相關聯的 DirectDrawClipper 物件,並遞增傳回之剪輯程式的參考計數。
IDirectDrawSurface7::GetColorKey

擷取此介面的色彩索引鍵值。
IDirectDrawSurface7::GetDC

為此介面建立裝置內容的 GDI 相容控制碼。
IDirectDrawSurface7::GetDDInterface

擷取用來建立此表面之 DirectDraw 物件的介面。
IDirectDrawSurface7::GetFlipStatus

擷取此表面是否已完成翻轉程式的狀態。
IDirectDrawSurface7::GetLOD

擷取目前為 Managed Mipmap 表面設定的 LO) D (詳細資料層級上限。 這個方法只會在 Managed 紋理上成功。
IDirectDrawSurface7::GetOverlayPosition

擷取這個表面的顯示座標。 這個方法用於可見的作用中重迭介面 (,也就是已設定DDSCAPS_OVERLAY旗標的介面) 。
IDirectDrawSurface7::GetPalette

擷取與此表面相關聯的 DirectDrawPalette 物件,並遞增傳回檔色盤的參考計數。
IDirectDrawSurface7::GetPixelFormat

擷取此表面的色彩和像素格式。
IDirectDrawSurface7::GetPriority

擷取此紋理的紋理管理優先順序。 這個方法只會在 Managed 紋理上成功。
IDirectDrawSurface7::GetPrivateData

將與此表面相關聯的私人資料複製到提供的緩衝區。
IDirectDrawSurface7::GetSurfaceDesc

擷取此表面目前條件的描述。
IDirectDrawSurface7::GetUniquenessValue

擷取這個介面的目前唯一性值。
IDirectDrawSurface7::Initialize

初始化 DirectDrawSurface 物件。
IDirectDrawSurface7::IsLost

判斷是否已釋放與 DirectDrawSurface 物件相關聯的表面記憶體。
IDirectDrawSurface7::Lock

取得表面記憶體的指標。
IDirectDrawSurface7::P ageLock

防止系統記憶體表面分頁,而位區塊傳輸 (bitblt) 作業使用直接記憶體存取 (DMA) 傳輸至系統記憶體進行中。
IDirectDrawSurface7::P ageUnlock

解除鎖定系統記憶體表面,然後允許將其分頁。
IDirectDrawSurface7::ReleaseDC

釋放先前使用 IDirectDrawSurface7::GetDC 方法取得的裝置內容的控制碼。
IDirectDrawSurface7::Restore

還原已遺失的介面。 當已釋放與 DirectDrawSurface 物件相關聯的表面記憶體時,就會發生這種情況。
IDirectDrawSurface7::SetClipper

將 clipper 物件附加至這個表面,或從中刪除一個。
IDirectDrawSurface7::SetColorKey

如果硬體支援每個表面的色彩索引鍵,請設定 DirectDrawSurface 物件的色彩索引鍵值。
IDirectDrawSurface7::SetLOD

設定受控 Mipmap 表面的 LOD) 詳細資料層級上限 (。 這個方法只會在 Managed 紋理上成功。
IDirectDrawSurface7::SetOverlayPosition

變更重迭表面的顯示座標。
IDirectDrawSurface7::SetPalette

將調色盤物件附加至 (,或從表面) 中斷連結。 介面會針對所有後續作業使用此調色盤。 選擇區變更會立即進行,而不需重新整理時間。
IDirectDrawSurface7::SetPriority

指派這個紋理的紋理管理優先順序。 這個方法只會在 Managed 紋理上成功。
IDirectDrawSurface7::SetPrivateData

將資料與應用程式所要使用的介面產生關聯,而不是由 DirectDraw 使用。 資料會以傳值方式傳遞,而且多個資料集可以與單一表面產生關聯。
IDirectDrawSurface7::SetSurfaceDesc

設定現有表面的特性。
IDirectDrawSurface7::Unlock

通知 DirectDraw 直接表面操作已完成。
IDirectDrawSurface7::UpdateOverlay

重新置放或修改重迭表面的視覺屬性。 這些表面必須設定DDSCAPS_OVERLAY旗標。
IDirectDrawSurface7::UpdateOverlayDisplay

目前尚未實作 IDirectDrawSurface7::UpdateOverlayDisplay 方法。
IDirectDrawSurface7::UpdateOverlayZOrder

設定重迭的迭置順序。

備註

IDirectDrawSurface7介面的方法可以組織成下列群組:

群組 方法
配置記憶體 初始化IsLost還原
連接介面 AddAttachedSurfaceDeleteAttachedSurfaceEnumAttachedSurfacesGetAttachedSurface
BitBltting BltBltBatchBltFastGetBltStatus
色彩索引鍵 GetColorKeySetColorKey
裝置內容 GetDCReleaseDC
翻轉 FlipGetFlipStatus
鎖定表面 LockPageLockPageUnlockUnlock
其他 GetDDInterface
重疊 AddOverlayDirtyRectEnumOverlayZOrdersGetOverlayPositionSetOverlayPositionUpdateOverlayUpdateOverlayDisplayUpdateOverlayZOrder
私人表面資料 FreePrivateDataGetPrivateDataSetPrivateData
Surface 功能 GetCaps
Surface Clipper GetClipperSetClipper
表面特性 ChangeUniquenessValueGetPixelFormatGetSurfaceDescGetUniquenessValueSetSurfaceDesc
表面調色盤 GetPaletteSetPalette
紋理 GetLODGetPrioritySetLODSetPriority
 

IDirectDrawSurface7介面藉由提供更好的介面管理和方便使用的方法,來擴充舊版介面的功能。 此介面中的許多方法都接受與舊版介面中對應專案稍有不同的參數。 只要 IDirectDrawSurface3 介面方法可以接受 DDSURFACEDESC 結構或 IDirectDrawSurface3 介面,IDirectDrawSurface7 中的方法就接受 DDSURFACEDESC2 結構或 IDirectDrawSurface7 介面。

使用 LPDIRECTDRAWSURFACE、LPDIRECTDRAWSURFACE2、LPDIRECTDRAWSURFACE3、LPDIRECTDRAWSURFACE4 或 LPDIRECTDRAWSURFACE7 資料類型來宣告指向各種 DirectDrawSurface 物件介面的變數。 Ddraw.h 標頭檔會使用下列程式碼宣告這些資料類型:


typedef struct IDirectDrawSurface     FAR *LPDIRECTDRAWSURFACE;
typedef struct IDirectDrawSurface2    FAR *LPDIRECTDRAWSURFACE2;
typedef struct IDirectDrawSurface3    FAR *LPDIRECTDRAWSURFACE3;
typedef struct IDirectDrawSurface4    FAR *LPDIRECTDRAWSURFACE4;
typedef struct IDirectDrawSurface7    FAR *LPDIRECTDRAWSURFACE7;

規格需求

   
目標平臺 Windows
標頭 ddraw.h