|
パラメータ
rclsid
[入力] オブジェクトの作成に使用するデータ、およびコードに関連付けられているCLSIDを指定する。
pUnkOuter
[入力]
オブジェクトが、アグリゲートオブジェクトの一部として作成する場合は、アグリゲートオブジェクトのIUnknownインターフェイス (制御側
IUnknown) へのポインタを指定する。
0 (NULL) を指定すると、オブジェクトはアグリゲートオブジェクトの一部として作成されない。
dwClsContext
[入力] 新しく作成されるオブジェクトの管理コードを実行するコンテキストを指定する。
次の値の組み合わせで指定する。
|
値
|
意味
|
|
CLSCTX_INPROC_SERVER
|
このクラスのオブジェクトを作成および管理するコードは、呼び出し側と同じプロセスで実行されるDLLである。 |
|
CLSCTX_INPROC_HANDLER
|
このクラスのオブジェクトを管理するコードはプロセス内ハンドラである。これはクライアントプロセス内で実行されるDLLで、クラスのインスタンスがリモートでアクセスされる際にこのクラスのクライアントサイド構造を作成する。 |
|
CLSCTX_LOCAL_SERVER
|
このクラスのオブジェクトを作成および管理するEXEコードは同じマシン上で実行されるが、別のプロセス空間にロードされる。 |
|
CLSCTX_ALL
|
上記の3つのフラグをすべて含んでいる。 |
riid
[入力] オブジェクトとの通信に使用するインターフェースのインターフェースID (IID) の参照(アドレス)を指定する。
ppv
[出力] riidパラメータで要求されたインターフェースポインタを格納するための変数のアドレスを指定する。
戻り値
|
値
|
意味
|
|
S_OK |
指定されたオブジェクトクラスのインスタンスが正常に作成された。 |
|
REGDB_E_CLASSNOTREG
|
指定されたクラスが登録データベースに登録されていないか、dwClsContextパラメータで指定されたサーバータイプが登録されていないか、レジストリのサーバータイプ値が不正である。 |
|
CLASS_E_NOAGGREGATION |
指定されたクラスはアグリゲートオブジェクトの一部として作成できない。 |
|
E_NOINTERFACE |
指定されたクラスでは要求されたインターフェースが実装されていない。 |
|