Condividi tramite


Metodo IXpsOMObjectFactory::CreateFontResource (xpsobjectmodel.h)

Crea un'interfaccia IXpsOMFontResource , che fornisce un'interfaccia IStream alla risorsa carattere.

Sintassi

HRESULT CreateFontResource(
  [in]          IStream            *acquiredStream,
  [in]          XPS_FONT_EMBEDDING fontEmbedding,
  [in]          IOpcPartUri        *partUri,
  [in]          BOOL               isObfSourceStream,
  [out, retval] IXpsOMFontResource **fontResource
);

Parametri

[in] acquiredStream

Interfaccia IStream di sola lettura da associare a questa risorsa di carattere. Questo parametro non deve essere NULL.

Importante Trattare questo flusso come oggetto Single-Threaded Apartment (STA); non immetterlo nuovamente.
 
Attenzione Questo flusso non deve essere offuscato.
 

[in] fontEmbedding

Valore XPS_FONT_EMBEDDING che specifica l'opzione di incorporamento del flusso.

[in] partUri

Interfaccia IOpcPartUri contenente il nome della parte da assegnare a questa risorsa. Questo parametro non deve essere NULL.

[in] isObfSourceStream

Valore booleano che indica se il flusso a cui fa riferimento il flusso acquisitoStream è offuscato.

Valore Significato
VERO
Il flusso a cui fa riferimento acquisitoStream è offuscato.
FALSE
Il flusso a cui fa riferimento acquisitoStream non è offuscato.

[out, retval] fontResource

Puntatore alla nuova interfaccia IXpsOMFontResource .

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a quelli della tabella che segue. Per informazioni sui valori restituiti dall'API documento XPS non elencati in questa tabella, vedere Errori del documento XPS.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_INVALIDARG
Si è verificato uno degli errori seguenti:
E_POINTER
acquiredStream, partUri o fontResource è NULL.

Commenti

Il valore di isObfSourceStream descrive lo stato del flusso a cui si fa riferimento a acquiredStream al momento della creazione della risorsa di carattere. Tutte le chiamate successive a GetStream o SetContent operano su versioni non localizzate di IStream.

Viene restituito un errore se isObfSourceStream è impostato su TRUE e fontEmbedding è impostato su XPS_FONT_EMBEDDING_NORMAL oppure se il nome a cui fa riferimento partUri non è conforme alla sintassi per i flussi offuscati.

L'esempio di codice seguente illustra come viene usato questo metodo per creare una nuova interfaccia.


IXpsOMFontResource    *newInterface;
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->CreateFontResource (
            acquiredStream, 
            XPS_FONT_EMBEDDING_NORMAL,    // normal
            partUri, 
            FALSE,                        // not obfuscated
            &newInterface);
        if (SUCCEEDED(hr))
        {
            // use newInterface

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

Requisiti

   
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione xpsobjectmodel.h

Vedi anche

IOpcPartUri

IXpsOMFontResource

IXpsOMObjectFactory

XML Paper Specification

Errori del documento XPS

XPS_FONT_EMBEDDING