次の方法で共有


IPrintCoreHelper::CreateInstanceOfMSXMLObject メソッド (prcomoem.h)

IPrintCoreHelper::CreateInstanceOfMSXMLObject メソッドは、適切な MSXML DLL を使用して MSXML 6.0 オブジェクトのインスタンスを作成します。

構文

HRESULT CreateInstanceOfMSXMLObject(
  [in]  IN REFCLSID  rclsid,
  [in]  IN LPUNKNOWN pUnkOuter,
  [in]  IN DWORD     dwClsContext,
  [in]  IN REFIID    riid,
  [out] OUT LPVOID   *ppv
);

パラメーター

[in] rclsid

オブジェクトの作成に使用されるデータとコードに関連付けられている CLSID。

[in] pUnkOuter

集約オブジェクトの IUnknown インターフェイス (制御 IUnknown) へのポインター。 このパラメーターは NULL する必要があります。これは、オブジェクトが集計の一部として作成されていないことを意味します。

[in] dwClsContext

新しく作成されたオブジェクトを管理するコードが実行されるコンテキスト。 有効な値は、NULL とCLSCTX_INPROC_SERVERだけです。これは CLSCTX 列挙の値です (Microsoft Windows SDK ドキュメントで説明)。

[in] riid

オブジェクトとの通信に使用されるインターフェイスの識別子への参照。

[out] ppv

riid パラメーターで要求されたインターフェイスのアドレスを受け取る変数へのポインター。 IPrintCoreHelper::CreateInstanceOfMSXMLObject 正常に戻った場合、*ppv には、要求されたインターフェイスのアドレスが含まれます。 このメソッドが失敗した場合、*ppv には NULL 含まれます。

戻り値

IPrintCoreHelper::CreateInstanceOfMSXMLObject は、次のいずれかの値を返す必要があります。

リターン コード 形容
S_OK
指定したオブジェクト クラスのインスタンスが正常に作成されました。
CLASS_E_NOAGGREGATION
指定したクラスを集計の一部として作成することはできません。
E_NOINTERFACE
指定したクラスは、要求されたインターフェイスを実装しないか、IUnknown インターフェイス 制御が要求されたインターフェイスを公開しません。
REGDB_E_CLASSNOTREG
指定したクラスが登録データベースに登録されていません。 この値は、CLSCTX 列挙型で要求したサーバーの種類が登録されていないか、レジストリ内のサーバーの種類の値が破損していることを示すこともできます。

備考

IPrintCoreHelper::CreateInstanceOfMSXMLObject を使用すると、ダウンレベルのクライアント コンピューター (Windows Server 2003、Windows XP、または Windows 2000 を実行するクライアント マシン) で実行されている場合でも、プラグインで MSXML オブジェクトを安全に使用できます。

このメソッドのパラメーターは、CoCreateInstance 関数のパラメーターに直接マップされます (Windows SDK のドキュメントで説明されています)。 以前のバージョンの Windows を実行しているコンピューターに Windows Vista ドライバーをインストールしても、MSXML 6.0 はインストールされないことに注意してください。 実際の DLL はドライバー依存 DLL に含まれており、ドライバー ディレクトリから読み込まれます。 システムに登録されていません。 このメソッドを使用するプラグインでは、MSXML オブジェクトのみを作成する必要があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー prcomoem.h (Prcomoem.h を含む)