IPrintCoreHelperPS::CreateInstanceOfMSXMLObject メソッド (prcomoem.h)
IPrintCoreHelperPS::CreateInstanceOfMSXMLObject メソッドは、MSXML オブジェクトのインスタンスを作成します。
構文
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 パラメーターで要求されたインターフェイスのアドレスを受け取るメモリ アドレスへのポインター。 IPrintCoreHelperPS::CreateInstanceOfMSXMLObject が正常に戻った場合、*ppv には要求されたインターフェイスのアドレスが含まれます。 このメソッドが失敗した場合、*ppv には NULL が含まれます。
戻り値
IPrintCoreHelperPS::CreateInstanceOfMSXMLObject は、次のいずれかの値を返す必要があります。
リターン コード | 説明 |
---|---|
|
指定したオブジェクト クラスのインスタンスが正常に作成されました。 |
|
指定したクラスを集計の一部として作成することはできません。 |
|
指定したクラスは、要求されたインターフェイスを実装しないか、制御する IUnknown インターフェイスが要求されたインターフェイスを公開しません。 |
|
指定したクラスが登録データベースに登録されていません。 この値は、CLSCTX 列挙型で要求したサーバーの種類が登録されていないか、レジストリ内のサーバーの種類の値が破損していることを示すこともできます。 |
注釈
このプラグインでは、CoCreateInstance を呼び出して MSXML オブジェクトを直接作成しないでください (Windows SDK のドキュメントで説明)。 代わりに、Pscript を呼び出してこれを行う必要があります。 その理由は、古いオペレーティング システムのバージョンなど、プリンター ドライバーが使用される可能性がある特定の条件下では、オペレーティング システムが必要なバージョンの MSXML (現在はバージョン 6) を登録する必要がないためです。 このような状況では、CoCreateInstance の呼び出しが失敗する可能性があります。 ただし、コア ドライバーでは、ドライバーが存在する場所に、MSXML パーサー DLL もコンピューター上に存在することが保証されるため、必要に応じて MSXML オブジェクトを作成できます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |