共用方式為


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 應該傳回下列其中一個值。

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

言論

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

要求

要求 價值
目標平臺 桌面
標頭 prcomoem.h (include Prcomoem.h)