次の方法で共有


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 オブジェクトのみを作成する必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header prcomoem.h (Prcomoem.h を含む)