ホーム › Media.DirectShow › IDirectDrawStreamSample
IDirectDrawStreamSample
COM公式ドキュメント
メモ このインターフェースは非推奨です。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 8 HRESULT GetSurface(IDirectDrawSurface** ppDirectDrawSurface, RECT* pRect)
メモ このインターフェースは非推奨です。新しいアプリケーションでは使用しないでください。現在のサンプルの DirectDraw サーフェスと、それに関連付けられたクリッピング矩形へのポインターを取得します。
| ppDirectDrawSurface | IDirectDrawSurface** | out | サンプルの新しいサーフェスを指定する IDirectDrawSurface インターフェースへのポインターのアドレス。新しいサーフェスを指定しない場合は、このパラメーターを NULL に設定します。 |
| pRect | RECT* | out | 現在のサンプルのクリッピング矩形を格納する RECT 構造体へのポインター。クリッピング矩形を取得しない場合は、このパラメーターを NULL に設定します。 |
戻り値
HRESULT 値を返します。
解説(Remarks)
両方のパラメーターは省略可能です。このインターフェースのすべての実装は、NULL 値を有効なパラメーターとしてサポートする必要があります。サーフェスポインターを取得した場合、このメソッドはその参照カウントをインクリメントするため、参照を解放する必要があります。
メモ このインターフェースは非推奨です。新しいアプリケーションでは使用しないでください。サンプルのクリッピング矩形を変更します。
| pRect | RECT* | in | ストリームの新しいクリッピング矩形を指定する RECT 構造体へのポインター。 |
戻り値
次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
|
ストリームがピクセル形式と互換性がありません。 |
|
指定された矩形が無効です。 |
|
ストリームがサーフェスと互換性がありません。 |
| ポインターのいずれかが無効です。 | |
|
ストリーム形式がサーフェスと一致せず、現在サンプルがストリームに割り当てられています。 |
| 成功しました。 |
解説(Remarks)
両方のパラメーターは省略可能です。値を変更したくない場合は、いずれかを NULL に設定します。サーフェス形式がストリーム形式と一致しない場合、このメソッドは失敗します。
新しい矩形のサイズが現在の矩形と同じでない場合、このメソッドの呼び出しは失敗します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDirectDrawStreamSample "{F4104FCF-9A70-11D0-8FDE-00C04FD9189D}" #usecom global IDirectDrawStreamSample IID_IDirectDrawStreamSample "{}" #comfunc global IDirectDrawStreamSample_GetSurface 8 sptr,var #comfunc global IDirectDrawStreamSample_SetRect 9 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDirectDrawStreamSample "{F4104FCF-9A70-11D0-8FDE-00C04FD9189D}" #usecom global IDirectDrawStreamSample IID_IDirectDrawStreamSample "{}" #comfunc global IDirectDrawStreamSample_GetSurface 8 sptr,sptr #comfunc global IDirectDrawStreamSample_SetRect 9 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。