ホーム › Graphics.DirectDraw › IDirectDrawSurface7
IDirectDrawSurface7
COMメソッド 46
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT AddAttachedSurface(IDirectDrawSurface7* param0)
| param0 | IDirectDrawSurface7* | in | このサーフェスにアタッチする対象サーフェスのインターフェイスポインタを指定する。 |
| param0 | RECT* | inout | 次のオーバーレイ更新で再描画すべき汚れ矩形領域を指すRECTポインタを指定する。 |
vtbl 5 HRESULT Blt(RECT* param0, IDirectDrawSurface7* param1, RECT* param2, DWORD param3, DDBLTFX* param4)
| param0 | RECT* | inout | 転送先サーフェス上の矩形を指すRECTポインタ。NULLでサーフェス全体を対象とする。 |
| param1 | IDirectDrawSurface7* | in | 転送元サーフェスのインターフェイスポインタ。塗りつぶし等では NULL 可。 |
| param2 | RECT* | inout | 転送元サーフェス上の矩形を指すRECTポインタ。NULLで元全体を対象とする。 |
| param3 | DWORD | in | ブリット動作を制御する DDBLT_ 系フラグの組み合わせを指定する。 |
| param4 | DDBLTFX* | inout | カラーキーやエフェクト等の詳細を格納する DDBLTFX 構造体ポインタ。不要時は NULL 可。 |
vtbl 6 HRESULT BltBatch(DDBLTBATCH* param0, DWORD param1, DWORD param2)
| param0 | DDBLTBATCH* | inout | 一括実行する複数ブリット操作を記述した DDBLTBATCH 構造体配列の先頭ポインタ。 |
| param1 | DWORD | in | 配列に含まれるブリット操作の件数を指定する。 |
| param2 | DWORD | in | 予約済みで現状は0を指定するフラグ値。 |
vtbl 7 HRESULT BltFast(DWORD param0, DWORD param1, IDirectDrawSurface7* param2, RECT* param3, DWORD param4)
| param0 | DWORD | in | 転送先サーフェス上の左上X座標(ピクセル単位)を指定する。 |
| param1 | DWORD | in | 転送先サーフェス上の左上Y座標(ピクセル単位)を指定する。 |
| param2 | IDirectDrawSurface7* | in | 転送元サーフェスのインターフェイスポインタを指定する。 |
| param3 | RECT* | inout | 転送元サーフェス上の矩形を指すRECTポインタ。NULLで元全体を対象とする。 |
| param4 | DWORD | in | DDBLTFAST_ 系の転送フラグ(カラーキー有無や待機指定等)を指定する。 |
vtbl 8 HRESULT DeleteAttachedSurface(DWORD param0, IDirectDrawSurface7* param1)
| param0 | DWORD | in | 予約済みで0を指定するフラグ値。 |
| param1 | IDirectDrawSurface7* | in | このサーフェスからデタッチする対象サーフェスのインターフェイスポインタ。 |
vtbl 9 HRESULT EnumAttachedSurfaces(void* param0, LPDDENUMSURFACESCALLBACK7 param1)
| param0 | void* | inout | コールバックへそのまま渡されるアプリ定義のコンテキストポインタ。NULL 可。 |
| param1 | LPDDENUMSURFACESCALLBACK7 | in | アタッチされた各サーフェスごとに呼ばれる列挙コールバック7関数ポインタ。 |
vtbl 10 HRESULT EnumOverlayZOrders(DWORD param0, void* param1, LPDDENUMSURFACESCALLBACK7 param2)
| param0 | DWORD | in | 列挙方向を指定する DDENUMOVERLAYZ_ 系フラグ(前面から/背面から)。 |
| param1 | void* | inout | コールバックへそのまま渡されるアプリ定義のコンテキストポインタ。NULL 可。 |
| param2 | LPDDENUMSURFACESCALLBACK7 | in | Zオーダー順に各オーバーレイで呼ばれる列挙コールバック7関数ポインタ。 |
vtbl 11 HRESULT Flip(IDirectDrawSurface7* param0, DWORD param1)
| param0 | IDirectDrawSurface7* | in | フリップ先として明示するサーフェスのポインタ。通常はNULLで自動選択する。 |
| param1 | DWORD | in | DDFLIP_ 系フラグ(垂直帰線待ち等)を指定する。 |
vtbl 12 HRESULT GetAttachedSurface(DDSCAPS2* param0, IDirectDrawSurface7** param1)
| param0 | DDSCAPS2* | inout | 取得対象を絞り込むサーフェス能力を指定する DDSCAPS2 構造体ポインタ。 |
| param1 | IDirectDrawSurface7** | out | 条件に一致したアタッチサーフェスを受け取る出力ポインタの格納先。 |
| param0 | DWORD | in | 問い合わせ種別を指定する DDGBS_ 系フラグ(完了確認/可否確認)。 |
| param0 | DDSCAPS2* | inout | サーフェスの能力情報を受け取る DDSCAPS2 構造体ポインタ。 |
vtbl 15 HRESULT GetClipper(IDirectDrawClipper** param0)
| param0 | IDirectDrawClipper** | out | サーフェスに関連付けられたクリッパーを受け取る出力ポインタの格納先。 |
vtbl 16 HRESULT GetColorKey(DWORD param0, DDCOLORKEY* param1)
| param0 | DWORD | in | 取得するカラーキー種別を指定する DDCKEY_ 系フラグ。 |
| param1 | DDCOLORKEY* | inout | カラーキー値を受け取る DDCOLORKEY 構造体ポインタ。 |
| param0 | HDC* | inout | サーフェスに対応するGDIデバイスコンテキストハンドルを受け取る出力ポインタ。 |
| param0 | DWORD | in | 問い合わせ種別を指定する DDGFS_ 系フラグ(完了確認/可否確認)。 |
| param0 | INT* | inout | オーバーレイの現在の左上X座標を受け取る出力ポインタ。 |
| param1 | INT* | inout | オーバーレイの現在の左上Y座標を受け取る出力ポインタ。 |
vtbl 20 HRESULT GetPalette(IDirectDrawPalette** param0)
| param0 | IDirectDrawPalette** | out | サーフェスに関連付けられたパレットを受け取る出力ポインタの格納先。 |
vtbl 21 HRESULT GetPixelFormat(DDPIXELFORMAT* param0)
| param0 | DDPIXELFORMAT* | inout | サーフェスのピクセルフォーマット情報を受け取る DDPIXELFORMAT 構造体ポインタ。 |
vtbl 22 HRESULT GetSurfaceDesc(DDSURFACEDESC2* param0)
| param0 | DDSURFACEDESC2* | inout | サーフェスの寸法やピクセル形式等の記述を受け取る DDSURFACEDESC2 構造体ポインタ。 |
vtbl 23 HRESULT Initialize(IDirectDraw* param0, DDSURFACEDESC2* param1)
| param0 | IDirectDraw* | in | このサーフェスを生成した DirectDraw オブジェクトのインターフェイスポインタ。 |
| param1 | DDSURFACEDESC2* | inout | 初期化に用いるサーフェス記述を格納した DDSURFACEDESC2 構造体ポインタ。 |
vtbl 24 HRESULT IsLost()
vtbl 25 HRESULT Lock(RECT* param0, DDSURFACEDESC2* param1, DWORD param2, HANDLE param3)
| param0 | RECT* | inout | ロックするサーフェス上の矩形を指すRECTポインタ。NULLで全体をロックする。 |
| param1 | DDSURFACEDESC2* | inout | ロック結果(先頭アドレスやピッチ等)を受け取る DDSURFACEDESC2 構造体ポインタ。 |
| param2 | DWORD | in | DDLOCK_ 系フラグ(待機方法や読み書き意図)を指定する。 |
| param3 | HANDLE | in | イベント駆動用のハンドル。現状は未使用でNULLを指定する。 |
| param0 | HDC | in | GetDCで取得したデバイスコンテキストハンドルを指定して解放する。 |
vtbl 27 HRESULT Restore()
vtbl 28 HRESULT SetClipper(IDirectDrawClipper* param0)
| param0 | IDirectDrawClipper* | in | サーフェスに関連付けるクリッパーのポインタ。NULLで関連付けを解除する。 |
vtbl 29 HRESULT SetColorKey(DWORD param0, DDCOLORKEY* param1)
| param0 | DWORD | in | 設定するカラーキー種別を指定する DDCKEY_ 系フラグ。 |
| param1 | DDCOLORKEY* | inout | 設定するカラーキー値を格納した DDCOLORKEY 構造体ポインタ。NULLで無効化する。 |
| param0 | INT | in | オーバーレイを表示する左上X座標(ピクセル単位)を指定する。 |
| param1 | INT | in | オーバーレイを表示する左上Y座標(ピクセル単位)を指定する。 |
vtbl 31 HRESULT SetPalette(IDirectDrawPalette* param0)
| param0 | IDirectDrawPalette* | in | サーフェスに関連付けるパレットのポインタ。NULLで関連付けを解除する。 |
| param0 | RECT* | inout | ロック解除する矩形を指すRECTポインタ。NULLでサーフェス全体を解除する。 |
vtbl 33 HRESULT UpdateOverlay(RECT* param0, IDirectDrawSurface7* param1, RECT* param2, DWORD param3, DDOVERLAYFX* param4)
| param0 | RECT* | inout | 転送元サーフェス上のオーバーレイ矩形を指すRECTポインタ。NULL可。 |
| param1 | IDirectDrawSurface7* | in | オーバーレイの転送先サーフェスのポインタ。NULLで非表示にする。 |
| param2 | RECT* | inout | 転送先サーフェス上の表示矩形を指すRECTポインタ。NULL可。 |
| param3 | DWORD | in | DDOVER_ 系フラグ(表示/非表示やカラーキー指定)を指定する。 |
| param4 | DDOVERLAYFX* | inout | オーバーレイ効果の詳細を格納する DDOVERLAYFX 構造体ポインタ。不要時はNULL可。 |
| param0 | DWORD | in | オーバーレイ表示を再描画する範囲を指定する DDOVER_REFRESH 系フラグ。 |
vtbl 35 HRESULT UpdateOverlayZOrder(DWORD param0, IDirectDrawSurface7* param1)
| param0 | DWORD | in | Zオーダー上の挿入位置を指定する DDOVERZ_ 系フラグ。 |
| param1 | IDirectDrawSurface7* | in | Zオーダーの基準となる参照サーフェスのポインタ。先頭/末尾指定時はNULL可。 |
vtbl 36 HRESULT GetDDInterface(void** param0)
| param0 | void** | inout | このサーフェスを生成した DirectDraw オブジェクトを受け取る出力ポインタの格納先。 |
| param0 | DWORD | in | 予約済みで0を指定するフラグ値。サーフェスメモリのページングを禁止する。 |
| param0 | DWORD | in | 予約済みで0を指定するフラグ値。PageLockによるページング禁止を解除する。 |
vtbl 39 HRESULT SetSurfaceDesc(DDSURFACEDESC2* param0, DWORD param1)
| param0 | DDSURFACEDESC2* | inout | 差し替えるサーフェス記述(主にメモリポインタ)を格納した DDSURFACEDESC2 構造体ポインタ。 |
| param1 | DWORD | in | 予約済みで0を指定するフラグ値。 |
| param0 | GUID* | in | 格納するプライベートデータを識別するGUIDを指すポインタ。 |
| param1 | void* | inout | サーフェスに関連付けて保存するデータバッファの先頭ポインタ。 |
| param2 | DWORD | in | 保存するデータのバイトサイズを指定する。 |
| param3 | DWORD | in | データ管理方法を示す DDSPD_ 系フラグ(IUnknown格納や揮発性等)。 |
| param0 | GUID* | in | 取得するプライベートデータを識別するGUIDを指すポインタ。 |
| param1 | void* | inout | 取得データを受け取るバッファの先頭ポインタ。NULLでサイズ問い合わせのみ行う。 |
| param2 | DWORD* | inout | 入力でバッファサイズ、出力で実データサイズを受け渡すDWORDポインタ。 |
vtbl 42 HRESULT FreePrivateData(GUID* param0)
| param0 | GUID* | in | 解放するプライベートデータを識別するGUIDを指すポインタ。 |
| param0 | DWORD* | inout | サーフェス内容の変更を検知する一意値を受け取る出力ポインタ。 |
vtbl 44 HRESULT ChangeUniquenessValue()
| param0 | DWORD | in | テクスチャ管理時の常駐優先度を指定する。値が大きいほど優先される。 |
| param0 | DWORD* | inout | 現在のテクスチャ管理優先度を受け取る出力ポインタ。 |
| param0 | DWORD | in | 管理対象ミップマップで使用する最大詳細度レベル(LOD)を指定する。 |
| param0 | DWORD* | inout | 現在の最大詳細度レベル(LOD)を受け取る出力ポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDirectDrawSurface7 "{06675A80-3B9B-11D2-B92F-00609797EA5B}" #usecom global IDirectDrawSurface7 IID_IDirectDrawSurface7 "{}" #comfunc global IDirectDrawSurface7_AddAttachedSurface 3 sptr #comfunc global IDirectDrawSurface7_AddOverlayDirtyRect 4 var #comfunc global IDirectDrawSurface7_Blt 5 var,sptr,var,int,var #comfunc global IDirectDrawSurface7_BltBatch 6 var,int,int #comfunc global IDirectDrawSurface7_BltFast 7 int,int,sptr,var,int #comfunc global IDirectDrawSurface7_DeleteAttachedSurface 8 int,sptr #comfunc global IDirectDrawSurface7_EnumAttachedSurfaces 9 sptr,sptr #comfunc global IDirectDrawSurface7_EnumOverlayZOrders 10 int,sptr,sptr #comfunc global IDirectDrawSurface7_Flip 11 sptr,int #comfunc global IDirectDrawSurface7_GetAttachedSurface 12 var,sptr #comfunc global IDirectDrawSurface7_GetBltStatus 13 int #comfunc global IDirectDrawSurface7_GetCaps 14 var #comfunc global IDirectDrawSurface7_GetClipper 15 sptr #comfunc global IDirectDrawSurface7_GetColorKey 16 int,var #comfunc global IDirectDrawSurface7_GetDC 17 sptr #comfunc global IDirectDrawSurface7_GetFlipStatus 18 int #comfunc global IDirectDrawSurface7_GetOverlayPosition 19 var,var #comfunc global IDirectDrawSurface7_GetPalette 20 sptr #comfunc global IDirectDrawSurface7_GetPixelFormat 21 var #comfunc global IDirectDrawSurface7_GetSurfaceDesc 22 var #comfunc global IDirectDrawSurface7_Initialize 23 sptr,var #comfunc global IDirectDrawSurface7_IsLost 24 #comfunc global IDirectDrawSurface7_Lock 25 var,var,int,sptr #comfunc global IDirectDrawSurface7_ReleaseDC 26 sptr #comfunc global IDirectDrawSurface7_Restore 27 #comfunc global IDirectDrawSurface7_SetClipper 28 sptr #comfunc global IDirectDrawSurface7_SetColorKey 29 int,var #comfunc global IDirectDrawSurface7_SetOverlayPosition 30 int,int #comfunc global IDirectDrawSurface7_SetPalette 31 sptr #comfunc global IDirectDrawSurface7_Unlock 32 var #comfunc global IDirectDrawSurface7_UpdateOverlay 33 var,sptr,var,int,var #comfunc global IDirectDrawSurface7_UpdateOverlayDisplay 34 int #comfunc global IDirectDrawSurface7_UpdateOverlayZOrder 35 int,sptr #comfunc global IDirectDrawSurface7_GetDDInterface 36 sptr #comfunc global IDirectDrawSurface7_PageLock 37 int #comfunc global IDirectDrawSurface7_PageUnlock 38 int #comfunc global IDirectDrawSurface7_SetSurfaceDesc 39 var,int #comfunc global IDirectDrawSurface7_SetPrivateData 40 var,sptr,int,int #comfunc global IDirectDrawSurface7_GetPrivateData 41 var,sptr,var #comfunc global IDirectDrawSurface7_FreePrivateData 42 var #comfunc global IDirectDrawSurface7_GetUniquenessValue 43 var #comfunc global IDirectDrawSurface7_ChangeUniquenessValue 44 #comfunc global IDirectDrawSurface7_SetPriority 45 int #comfunc global IDirectDrawSurface7_GetPriority 46 var #comfunc global IDirectDrawSurface7_SetLOD 47 int #comfunc global IDirectDrawSurface7_GetLOD 48 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDirectDrawSurface7 "{06675A80-3B9B-11D2-B92F-00609797EA5B}" #usecom global IDirectDrawSurface7 IID_IDirectDrawSurface7 "{}" #comfunc global IDirectDrawSurface7_AddAttachedSurface 3 sptr #comfunc global IDirectDrawSurface7_AddOverlayDirtyRect 4 sptr #comfunc global IDirectDrawSurface7_Blt 5 sptr,sptr,sptr,int,sptr #comfunc global IDirectDrawSurface7_BltBatch 6 sptr,int,int #comfunc global IDirectDrawSurface7_BltFast 7 int,int,sptr,sptr,int #comfunc global IDirectDrawSurface7_DeleteAttachedSurface 8 int,sptr #comfunc global IDirectDrawSurface7_EnumAttachedSurfaces 9 sptr,sptr #comfunc global IDirectDrawSurface7_EnumOverlayZOrders 10 int,sptr,sptr #comfunc global IDirectDrawSurface7_Flip 11 sptr,int #comfunc global IDirectDrawSurface7_GetAttachedSurface 12 sptr,sptr #comfunc global IDirectDrawSurface7_GetBltStatus 13 int #comfunc global IDirectDrawSurface7_GetCaps 14 sptr #comfunc global IDirectDrawSurface7_GetClipper 15 sptr #comfunc global IDirectDrawSurface7_GetColorKey 16 int,sptr #comfunc global IDirectDrawSurface7_GetDC 17 sptr #comfunc global IDirectDrawSurface7_GetFlipStatus 18 int #comfunc global IDirectDrawSurface7_GetOverlayPosition 19 sptr,sptr #comfunc global IDirectDrawSurface7_GetPalette 20 sptr #comfunc global IDirectDrawSurface7_GetPixelFormat 21 sptr #comfunc global IDirectDrawSurface7_GetSurfaceDesc 22 sptr #comfunc global IDirectDrawSurface7_Initialize 23 sptr,sptr #comfunc global IDirectDrawSurface7_IsLost 24 #comfunc global IDirectDrawSurface7_Lock 25 sptr,sptr,int,sptr #comfunc global IDirectDrawSurface7_ReleaseDC 26 sptr #comfunc global IDirectDrawSurface7_Restore 27 #comfunc global IDirectDrawSurface7_SetClipper 28 sptr #comfunc global IDirectDrawSurface7_SetColorKey 29 int,sptr #comfunc global IDirectDrawSurface7_SetOverlayPosition 30 int,int #comfunc global IDirectDrawSurface7_SetPalette 31 sptr #comfunc global IDirectDrawSurface7_Unlock 32 sptr #comfunc global IDirectDrawSurface7_UpdateOverlay 33 sptr,sptr,sptr,int,sptr #comfunc global IDirectDrawSurface7_UpdateOverlayDisplay 34 int #comfunc global IDirectDrawSurface7_UpdateOverlayZOrder 35 int,sptr #comfunc global IDirectDrawSurface7_GetDDInterface 36 sptr #comfunc global IDirectDrawSurface7_PageLock 37 int #comfunc global IDirectDrawSurface7_PageUnlock 38 int #comfunc global IDirectDrawSurface7_SetSurfaceDesc 39 sptr,int #comfunc global IDirectDrawSurface7_SetPrivateData 40 sptr,sptr,int,int #comfunc global IDirectDrawSurface7_GetPrivateData 41 sptr,sptr,sptr #comfunc global IDirectDrawSurface7_FreePrivateData 42 sptr #comfunc global IDirectDrawSurface7_GetUniquenessValue 43 sptr #comfunc global IDirectDrawSurface7_ChangeUniquenessValue 44 #comfunc global IDirectDrawSurface7_SetPriority 45 int #comfunc global IDirectDrawSurface7_GetPriority 46 sptr #comfunc global IDirectDrawSurface7_SetLOD 47 int #comfunc global IDirectDrawSurface7_GetLOD 48 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。