Метод 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, не зарегистрирован или значения для типов серверов в реестре повреждены. |
Комментарии
Подключаемый модуль не должен напрямую создавать объект MSXML путем вызова CoCreateInstance (описано в документации по Windows SDK). Вместо этого он должен вызвать Pscript для этого. Причина в том, что при определенных условиях, в которых может использоваться драйвер принтера, например в более старых версиях операционной системы, операционной системе не требуется регистрировать требуемую версию MSXML, которая в настоящее время является версией 6. В таких ситуациях вызов CoCreateInstance может завершиться ошибкой. Однако основной драйвер гарантирует, что везде, где он присутствует, на компьютере также присутствует библиотека DLL средства синтаксического анализа MSXML, что позволяет при необходимости создать объект MSXML.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | prcomoem.h (включая Prcomoem.h) |