Metodo IPrintCoreHelperPS::CreateInstanceOfMSXMLObject (prcomoem.h)

Il metodo IPrintCoreHelperPS::CreateInstanceOfMSXMLObject crea un'istanza di un oggetto MSXML.

Sintassi

HRESULT CreateInstanceOfMSXMLObject(
  [in]  IN REFCLSID  rclsid,
  [in]  IN LPUNKNOWN pUnkOuter,
  [in]  IN DWORD     dwClsContext,
  [in]  IN REFIID    riid,
  [out] OUT LPVOID   *ppv
);

Parametri

[in] rclsid

CLSID associato ai dati e al codice che verranno usati per creare l'oggetto.

[in] pUnkOuter

Puntatore all'interfaccia IUnknown dell'oggetto aggregato (controllo IUnknown). Questo parametro deve essere NULL, il che significa che l'oggetto non viene creato come parte di un'aggregazione.

[in] dwClsContext

Contesto in cui verrà eseguito il codice che gestisce l'oggetto appena creato. Gli unici valori validi sono NULL e CLSCTX_INPROC_SERVER, ovvero un valore dell'enumerazione CLSCTX (descritta nella documentazione di Microsoft Windows SDK).

[in] riid

Riferimento all'identificatore dell'interfaccia che verrà utilizzata per comunicare con l'oggetto .

[out] ppv

Puntatore a un indirizzo di memoria che riceve l'indirizzo dell'interfaccia richiesta nel parametro riid . Se IPrintCoreHelperPS::CreateInstanceOfMSXMLObject viene restituito correttamente, *ppv contiene l'indirizzo dell'interfaccia richiesta. Se questo metodo ha esito negativo, *ppv contiene NULL.

Valore restituito

IPrintCoreHelperPS::CreateInstanceOfMSXMLObject deve restituire uno dei valori seguenti.

Codice restituito Descrizione
S_OK
È stata creata correttamente un'istanza della classe oggetto specificata.
CLASS_E_NOAGGREGATION
Impossibile creare la classe specificata come parte di un'aggregazione.
E_NOINTERFACE
La classe specificata non implementa l'interfaccia richiesta o l'interfaccia IUnknown di controllo non espone l'interfaccia richiesta.
REGDB_E_CLASSNOTREG
Una classe specificata non è registrata nel database di registrazione. Questo valore può anche indicare che il tipo di server richiesto nel tipo di enumerazione CLSCTX non è registrato o i valori per i tipi di server nel Registro di sistema sono danneggiati.

Commenti

Il plug-in non deve creare direttamente un oggetto MSXML chiamando CoCreateInstance (descritto nella documentazione di Windows SDK). È invece necessario chiamare Pscript per eseguire questa operazione. Il motivo è che in determinate condizioni in cui è possibile usare il driver della stampante, ad esempio con le versioni precedenti del sistema operativo, il sistema operativo non deve registrare la versione richiesta di MSXML, che attualmente è la versione 6. In tali situazioni, la chiamata a CoCreateInstance può avere esito negativo. Tuttavia, il driver principale garantisce che, ovunque il driver sia presente, anche la DLL del parser MSXML è presente nel computer, rendendo possibile creare un oggetto MSXML quando necessario.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione prcomoem.h (include Prcomoem.h)