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,這是 Microsoft Windows SDK 檔) 中所述之 CLSCTX 列舉 (的值。

[in] riid

介面識別碼的參考,該標識符將用來與 對象通訊。

[out] ppv

記憶體位址的指標,接收 riid 參數中要求的介面位址。 如果 IPrintCoreHelperPS::CreateInstanceOfMSXMLObject 成功傳回,*ppv 會包含要求的介面位址。 如果此方法失敗,*ppv 會包含 NULL

傳回值

IPrintCoreHelperPS::CreateInstanceOfMSXMLObject 應該會傳回下列其中一個值。

傳回碼 描述
S_OK
已成功建立指定之物件類別的實例。
CLASS_E_NOAGGREGATION
指定的類別無法建立為匯總的一部分。
E_NOINTERFACE
指定的類別不會實作要求的介面,或控制 IUnknown 介面不會公開要求的介面。
REGDB_E_CLASSNOTREG
指定的類別未在註冊資料庫中註冊。 這個值也可以指出您在 CLSCTX 列舉類型中所要求的伺服器類型未登錄,或登錄中伺服器類型的值已損毀。

備註

外掛程式不應該藉由呼叫 Windows SDK 檔) 中所述的 CoCreateInstance (直接建立 MSXML 物件。 相反地,它應該呼叫 Pscript 來執行此動作。 原因是在某些情況下,印表機驅動程式可能會使用,例如使用較舊的操作系統版本,操作系統不需要註冊目前為第 6 版的必要 MSXML 版本。 在這種情況下,呼叫 CoCreateInstance 可能會失敗。 不過,核心驅動程式可確保驅動程式出現在任何位置,MSXML 剖析器 DLL 也會出現在計算機上,因此可以在需要時建立 MSXML 物件。

規格需求

需求
目標平台 桌面
標頭 prcomoem.h (包含 Prcomoem.h)