« フィルタDLLの作成 | メイン | 多重継承 »
August 31, 2004
IDLの記述
新しいインターフェイスを作るのでIDLを書くことにした。
IDLを書けば、MIDLでヘッダーとか自動生成されるはず。
で、必要なメソッドはバッファの取得/設定のみかな。
とりあえず、書いてみるとこんな感じかな。
// IRendererBufferAccess.idl
import "oaidl.idl";
[
object,
uuid(2F8FFFC5-E7BE-497a-9254-DB97639131A6),
]
interface IRendererBufferAccess : IUnknown
{
HRESULT SetFrontBuffer( [in] BYTE *buff, [in,out] long *size );
HRESULT SetBackBuffer( [in] BYTE *buff, [in,out] long *size );
HRESULT GetFrontBuffer( [out] BYTE *buff, [in,out] long *size );
HRESULT GetBackBuffer( [out] BYTE *buff, [in,out] long *size );
}
このソースは、試していないのでうまく行くかどうかは不明。
さあ、MIDLだ。コマンドラインでVCのバッチを実行して
MIDL IRendererBufferAccess.idl |
と入力する。
すると、いくつかソースが出力されるが、実際に使うのは、_i.cと.hのみ。
他はリモートコールなどの時に使用されるようだ。
とりあえずは、.hをインクルードして、インターフェイスを継承すればいい。
投稿者 Takenori : August 31, 2004 10:40 PM
Trackback Pings
このエントリーのトラックバックURL:
http://blog.kaede-software.com/mt-tb.cgi/121