Partager via


Méthode IXpsOMObjectFactory ::CreateImageResource (xpsobjectmodel.h)

Crée une interface IXpsOMImageResource , qui est utilisée pour accéder à un flux de ressources d’image.

Syntaxe

HRESULT CreateImageResource(
  [in]          IStream             *acquiredStream,
  [in]          XPS_IMAGE_TYPE      contentType,
  [in]          IOpcPartUri         *partUri,
  [out, retval] IXpsOMImageResource **imageResource
);

Paramètres

[in] acquiredStream

Flux en lecture seule à associer à cette ressource. Ce paramètre ne doit pas avoir la valeur NULL.

Important Traitez ce flux comme un objet STA (Single-Threaded Apartment) ; n’entrez pas à nouveau.
 

[in] contentType

Valeur XPS_IMAGE_TYPE qui décrit le type d’image du flux référencé par acquiredStream.

[in] partUri

Interface IOpcPartUri qui contient le nom de partie à affecter à cette ressource. Ce paramètre ne doit pas avoir la valeur NULL.

[out, retval] imageResource

Pointeur vers la nouvelle interface IXpsOMImageResource .

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, celles de la table qui suit. Pour plus d’informations sur les valeurs de retour de l’API de document XPS qui ne sont pas répertoriées dans ce tableau, consultez Erreurs de document XPS.

Code de retour Description
S_OK
S_OK
E_INVALIDARG
contentType n’était pas une valeur XPS_IMAGE_TYPE valide.
E_POINTER
acquiredStream, partUri ou imageResource a la valeur NULL.

Remarques

L’exemple de code qui suit illustre comment cette méthode est utilisée pour créer une interface.


IXpsOMImageResource    *newInterface;
// The following values are defined outside of 
// this example.
//  IStream            *acquiredStream;
//  XPS_IMAGE_TYPE     contentType;
//  IOpcPartUri        *partUri;
    
// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    // The partUriString and acquiredStream variables 
    //   are defined outside of this example.
    hr = xpsFactory->CreatePartUri(partUriString, &partUri);
    if (SUCCEEDED(hr))
    {
        hr = xpsFactory->CreateImageResource (
            acquiredStream,
            contentType,
            partUri,
            &newInterface);
        if (SUCCEEDED(hr))
        {
            // use newInterface

            newInterface->Release();
        }
        partUri->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête xpsobjectmodel.h

Voir aussi

IOpcPartUri

IXpsOMImageResource

IXpsOMObjectFactory

XML Paper Specification

Erreurs de document XPS

XPS_IMAGE_TYPE