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 來執行此動作。 原因是在某些情況下,印表機驅動程式可以使用,例如與舊版作系統版本一樣,作系統不需要註冊目前為第 6 版的必要 MSXML 版本。 在這種情況下,呼叫 CoCreateInstance 可能會失敗。 不過,核心驅動程式可確保無論驅動程式存在何處,MSXML 剖析器 DLL 也會存在於計算機上,因此在需要時可以建立 MSXML 物件。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | prcomoem.h (include Prcomoem.h) |