Win32 API 日本語リファレンス
ホームGraphics.DirectDraw › IDirectDrawSurface7

IDirectDrawSurface7

COM
IID06675a80-3b9b-11d2-b92f-00609797ea5b継承元IUnknown自前メソッド開始 vtbl3

メソッド 46

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT AddAttachedSurface(IDirectDrawSurface7* param0)
param0IDirectDrawSurface7*inこのサーフェスにアタッチする対象サーフェスのインターフェイスポインタを指定する。
vtbl 4 HRESULT AddOverlayDirtyRect(RECT* param0)
param0RECT*inout次のオーバーレイ更新で再描画すべき汚れ矩形領域を指すRECTポインタを指定する。
vtbl 5 HRESULT Blt(RECT* param0, IDirectDrawSurface7* param1, RECT* param2, DWORD param3, DDBLTFX* param4)
param0RECT*inout転送先サーフェス上の矩形を指すRECTポインタ。NULLでサーフェス全体を対象とする。
param1IDirectDrawSurface7*in転送元サーフェスのインターフェイスポインタ。塗りつぶし等では NULL 可。
param2RECT*inout転送元サーフェス上の矩形を指すRECTポインタ。NULLで元全体を対象とする。
param3DWORDinブリット動作を制御する DDBLT_ 系フラグの組み合わせを指定する。
param4DDBLTFX*inoutカラーキーやエフェクト等の詳細を格納する DDBLTFX 構造体ポインタ。不要時は NULL 可。
vtbl 6 HRESULT BltBatch(DDBLTBATCH* param0, DWORD param1, DWORD param2)
param0DDBLTBATCH*inout一括実行する複数ブリット操作を記述した DDBLTBATCH 構造体配列の先頭ポインタ。
param1DWORDin配列に含まれるブリット操作の件数を指定する。
param2DWORDin予約済みで現状は0を指定するフラグ値。
vtbl 7 HRESULT BltFast(DWORD param0, DWORD param1, IDirectDrawSurface7* param2, RECT* param3, DWORD param4)
param0DWORDin転送先サーフェス上の左上X座標(ピクセル単位)を指定する。
param1DWORDin転送先サーフェス上の左上Y座標(ピクセル単位)を指定する。
param2IDirectDrawSurface7*in転送元サーフェスのインターフェイスポインタを指定する。
param3RECT*inout転送元サーフェス上の矩形を指すRECTポインタ。NULLで元全体を対象とする。
param4DWORDinDDBLTFAST_ 系の転送フラグ(カラーキー有無や待機指定等)を指定する。
vtbl 8 HRESULT DeleteAttachedSurface(DWORD param0, IDirectDrawSurface7* param1)
param0DWORDin予約済みで0を指定するフラグ値。
param1IDirectDrawSurface7*inこのサーフェスからデタッチする対象サーフェスのインターフェイスポインタ。
vtbl 9 HRESULT EnumAttachedSurfaces(void* param0, LPDDENUMSURFACESCALLBACK7 param1)
param0void*inoutコールバックへそのまま渡されるアプリ定義のコンテキストポインタ。NULL 可。
param1LPDDENUMSURFACESCALLBACK7inアタッチされた各サーフェスごとに呼ばれる列挙コールバック7関数ポインタ。
vtbl 10 HRESULT EnumOverlayZOrders(DWORD param0, void* param1, LPDDENUMSURFACESCALLBACK7 param2)
param0DWORDin列挙方向を指定する DDENUMOVERLAYZ_ 系フラグ(前面から/背面から)。
param1void*inoutコールバックへそのまま渡されるアプリ定義のコンテキストポインタ。NULL 可。
param2LPDDENUMSURFACESCALLBACK7inZオーダー順に各オーバーレイで呼ばれる列挙コールバック7関数ポインタ。
vtbl 11 HRESULT Flip(IDirectDrawSurface7* param0, DWORD param1)
param0IDirectDrawSurface7*inフリップ先として明示するサーフェスのポインタ。通常はNULLで自動選択する。
param1DWORDinDDFLIP_ 系フラグ(垂直帰線待ち等)を指定する。
vtbl 12 HRESULT GetAttachedSurface(DDSCAPS2* param0, IDirectDrawSurface7** param1)
param0DDSCAPS2*inout取得対象を絞り込むサーフェス能力を指定する DDSCAPS2 構造体ポインタ。
param1IDirectDrawSurface7**out条件に一致したアタッチサーフェスを受け取る出力ポインタの格納先。
vtbl 13 HRESULT GetBltStatus(DWORD param0)
param0DWORDin問い合わせ種別を指定する DDGBS_ 系フラグ(完了確認/可否確認)。
vtbl 14 HRESULT GetCaps(DDSCAPS2* param0)
param0DDSCAPS2*inoutサーフェスの能力情報を受け取る DDSCAPS2 構造体ポインタ。
vtbl 15 HRESULT GetClipper(IDirectDrawClipper** param0)
param0IDirectDrawClipper**outサーフェスに関連付けられたクリッパーを受け取る出力ポインタの格納先。
vtbl 16 HRESULT GetColorKey(DWORD param0, DDCOLORKEY* param1)
param0DWORDin取得するカラーキー種別を指定する DDCKEY_ 系フラグ。
param1DDCOLORKEY*inoutカラーキー値を受け取る DDCOLORKEY 構造体ポインタ。
vtbl 17 HRESULT GetDC(HDC* param0)
param0HDC*inoutサーフェスに対応するGDIデバイスコンテキストハンドルを受け取る出力ポインタ。
vtbl 18 HRESULT GetFlipStatus(DWORD param0)
param0DWORDin問い合わせ種別を指定する DDGFS_ 系フラグ(完了確認/可否確認)。
vtbl 19 HRESULT GetOverlayPosition(INT* param0, INT* param1)
param0INT*inoutオーバーレイの現在の左上X座標を受け取る出力ポインタ。
param1INT*inoutオーバーレイの現在の左上Y座標を受け取る出力ポインタ。
vtbl 20 HRESULT GetPalette(IDirectDrawPalette** param0)
param0IDirectDrawPalette**outサーフェスに関連付けられたパレットを受け取る出力ポインタの格納先。
vtbl 21 HRESULT GetPixelFormat(DDPIXELFORMAT* param0)
param0DDPIXELFORMAT*inoutサーフェスのピクセルフォーマット情報を受け取る DDPIXELFORMAT 構造体ポインタ。
vtbl 22 HRESULT GetSurfaceDesc(DDSURFACEDESC2* param0)
param0DDSURFACEDESC2*inoutサーフェスの寸法やピクセル形式等の記述を受け取る DDSURFACEDESC2 構造体ポインタ。
vtbl 23 HRESULT Initialize(IDirectDraw* param0, DDSURFACEDESC2* param1)
param0IDirectDraw*inこのサーフェスを生成した DirectDraw オブジェクトのインターフェイスポインタ。
param1DDSURFACEDESC2*inout初期化に用いるサーフェス記述を格納した DDSURFACEDESC2 構造体ポインタ。
vtbl 24 HRESULT IsLost()
vtbl 25 HRESULT Lock(RECT* param0, DDSURFACEDESC2* param1, DWORD param2, HANDLE param3)
param0RECT*inoutロックするサーフェス上の矩形を指すRECTポインタ。NULLで全体をロックする。
param1DDSURFACEDESC2*inoutロック結果(先頭アドレスやピッチ等)を受け取る DDSURFACEDESC2 構造体ポインタ。
param2DWORDinDDLOCK_ 系フラグ(待機方法や読み書き意図)を指定する。
param3HANDLEinイベント駆動用のハンドル。現状は未使用でNULLを指定する。
vtbl 26 HRESULT ReleaseDC(HDC param0)
param0HDCinGetDCで取得したデバイスコンテキストハンドルを指定して解放する。
vtbl 27 HRESULT Restore()
vtbl 28 HRESULT SetClipper(IDirectDrawClipper* param0)
param0IDirectDrawClipper*inサーフェスに関連付けるクリッパーのポインタ。NULLで関連付けを解除する。
vtbl 29 HRESULT SetColorKey(DWORD param0, DDCOLORKEY* param1)
param0DWORDin設定するカラーキー種別を指定する DDCKEY_ 系フラグ。
param1DDCOLORKEY*inout設定するカラーキー値を格納した DDCOLORKEY 構造体ポインタ。NULLで無効化する。
vtbl 30 HRESULT SetOverlayPosition(INT param0, INT param1)
param0INTinオーバーレイを表示する左上X座標(ピクセル単位)を指定する。
param1INTinオーバーレイを表示する左上Y座標(ピクセル単位)を指定する。
vtbl 31 HRESULT SetPalette(IDirectDrawPalette* param0)
param0IDirectDrawPalette*inサーフェスに関連付けるパレットのポインタ。NULLで関連付けを解除する。
vtbl 32 HRESULT Unlock(RECT* param0)
param0RECT*inoutロック解除する矩形を指すRECTポインタ。NULLでサーフェス全体を解除する。
vtbl 33 HRESULT UpdateOverlay(RECT* param0, IDirectDrawSurface7* param1, RECT* param2, DWORD param3, DDOVERLAYFX* param4)
param0RECT*inout転送元サーフェス上のオーバーレイ矩形を指すRECTポインタ。NULL可。
param1IDirectDrawSurface7*inオーバーレイの転送先サーフェスのポインタ。NULLで非表示にする。
param2RECT*inout転送先サーフェス上の表示矩形を指すRECTポインタ。NULL可。
param3DWORDinDDOVER_ 系フラグ(表示/非表示やカラーキー指定)を指定する。
param4DDOVERLAYFX*inoutオーバーレイ効果の詳細を格納する DDOVERLAYFX 構造体ポインタ。不要時はNULL可。
vtbl 34 HRESULT UpdateOverlayDisplay(DWORD param0)
param0DWORDinオーバーレイ表示を再描画する範囲を指定する DDOVER_REFRESH 系フラグ。
vtbl 35 HRESULT UpdateOverlayZOrder(DWORD param0, IDirectDrawSurface7* param1)
param0DWORDinZオーダー上の挿入位置を指定する DDOVERZ_ 系フラグ。
param1IDirectDrawSurface7*inZオーダーの基準となる参照サーフェスのポインタ。先頭/末尾指定時はNULL可。
vtbl 36 HRESULT GetDDInterface(void** param0)
param0void**inoutこのサーフェスを生成した DirectDraw オブジェクトを受け取る出力ポインタの格納先。
vtbl 37 HRESULT PageLock(DWORD param0)
param0DWORDin予約済みで0を指定するフラグ値。サーフェスメモリのページングを禁止する。
vtbl 38 HRESULT PageUnlock(DWORD param0)
param0DWORDin予約済みで0を指定するフラグ値。PageLockによるページング禁止を解除する。
vtbl 39 HRESULT SetSurfaceDesc(DDSURFACEDESC2* param0, DWORD param1)
param0DDSURFACEDESC2*inout差し替えるサーフェス記述(主にメモリポインタ)を格納した DDSURFACEDESC2 構造体ポインタ。
param1DWORDin予約済みで0を指定するフラグ値。
vtbl 40 HRESULT SetPrivateData(GUID* param0, void* param1, DWORD param2, DWORD param3)
param0GUID*in格納するプライベートデータを識別するGUIDを指すポインタ。
param1void*inoutサーフェスに関連付けて保存するデータバッファの先頭ポインタ。
param2DWORDin保存するデータのバイトサイズを指定する。
param3DWORDinデータ管理方法を示す DDSPD_ 系フラグ(IUnknown格納や揮発性等)。
vtbl 41 HRESULT GetPrivateData(GUID* param0, void* param1, DWORD* param2)
param0GUID*in取得するプライベートデータを識別するGUIDを指すポインタ。
param1void*inout取得データを受け取るバッファの先頭ポインタ。NULLでサイズ問い合わせのみ行う。
param2DWORD*inout入力でバッファサイズ、出力で実データサイズを受け渡すDWORDポインタ。
vtbl 42 HRESULT FreePrivateData(GUID* param0)
param0GUID*in解放するプライベートデータを識別するGUIDを指すポインタ。
vtbl 43 HRESULT GetUniquenessValue(DWORD* param0)
param0DWORD*inoutサーフェス内容の変更を検知する一意値を受け取る出力ポインタ。
vtbl 44 HRESULT ChangeUniquenessValue()
vtbl 45 HRESULT SetPriority(DWORD param0)
param0DWORDinテクスチャ管理時の常駐優先度を指定する。値が大きいほど優先される。
vtbl 46 HRESULT GetPriority(DWORD* param0)
param0DWORD*inout現在のテクスチャ管理優先度を受け取る出力ポインタ。
vtbl 47 HRESULT SetLOD(DWORD param0)
param0DWORDin管理対象ミップマップで使用する最大詳細度レベル(LOD)を指定する。
vtbl 48 HRESULT GetLOD(DWORD* param0)
param0DWORD*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 指定が可能。