最終更新:2018-09-21 (金) 10:08:15 (2057d)
CoCreateInstance
Top / CoCreateInstance
指定されたCLSIDに関連付けられたクラスの1つの未初期化オブジェクトを作成します。
STDAPI CoCreateInstance( REFCLSID rclsid, // オブジェクトのCLSID LPUNKNOWN pUnkOuter, // アグリゲートオブジェクト DWORD dwClsContext, // コンテキスト REFIID riid, // 取得するIID PVOID *ppv // 変数アドレス );
引数
rclsid
- CLSID
CLSID_FilterGraph IID_IGraphBuilder? CLSID_CaptureGraphBuilder2? IID_ICaptureGraphBuilder2? CLSID_SystemDeviceEnum IID_ICreateDevEnum?
dwClsContext?
新しく作成されるオブジェクトの管理コードを実行するコンテキストを指定します。以下の値の組み合わせで指定します。
- 0x1 (CLSCTX_INPROC_SERVER)
- このクラスのオブジェクトを作成および管理するコードは、呼び出し側と同じプロセスで実行されるDLLです。
- 0x2 (CLSCTX_INPROC_HANDLER)
- このクラスのオブジェクトを管理するコードはプロセス内ハンドラです。これはクライアントプロセス内で実行されるDLLで、クラスのインスタンスがリモートでアクセスされる際にこのクラスのクライアントサイド構造を作成します。
- 0x4 (CLSCTX_LOCAL_SERVER)
- このクラスのオブジェクトを作成および管理するEXEコードは同じマシン上で実行されますが、別のプロセス空間にロードされます。
- 0x17 (CLSCTX_ALL)
- 上記の3つのフラグをすべて含んでいます。
メモ
- CoCreateInstanceは引数としてCLSIDとIID?を指定します。
- CoCreateInstanceはCSLID?で指定したオブジェクトを生成し、そのオブジェクトのIID?で指定したインターフェースを返します。