Compartir a través de


Método IXpsOMObjectFactory::CreateFontResource (xpsobjectmodel.h)

Crea una interfaz IXpsOMFontResource , que proporciona una interfaz IStream al recurso de fuente.

Sintaxis

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

Parámetros

[in] acquiredStream

Interfaz IStream de solo lectura que se va a asociar a este recurso de fuente. Este parámetro no debe ser NULL.

Importante Trate esta secuencia como un objeto Single-Threaded Apartment (STA); no vuelva a escribirlo.
 
Precaución Esta secuencia no se ofuscará.
 

[in] fontEmbedding

Valor de XPS_FONT_EMBEDDING que especifica la opción de inserción de la secuencia.

[in] partUri

Interfaz IOpcPartUri que contiene el nombre del elemento que se va a asignar a este recurso. Este parámetro no debe ser NULL.

[in] isObfSourceStream

Valor booleano que indica si la secuencia a la que hace referencia acquiredStream está ofuscada.

Valor Significado
VERDAD
La secuencia a la que hace referencia acquiredStream está ofuscada.
FALSO
La secuencia a la que hace referencia acquiredStream no está ofuscada.

[out, retval] fontResource

Puntero a la nueva interfaz IXpsOMFontResource .

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen, entre otros, los de la tabla siguiente. Para obtener información sobre los valores devueltos de la API de documentos XPS que no aparecen en esta tabla, vea Errores del documento XPS.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_INVALIDARG
Se ha producido uno de los siguientes errores:
E_POINTER
acquiredStream, partUri o fontResource es NULL.

Comentarios

El valor de isObfSourceStream describe el estado de la secuencia de referencia adquiridaStream en el momento en que se crea el recurso de fuente. Todas las llamadas posteriores a GetStream o SetContent funcionarán en versiones no compatibles de IStream.

Se devuelve un error si isObfSourceStream se establece en TRUE y fontEmbedding se establece en XPS_FONT_EMBEDDING_NORMAL, o si el nombre al que hace referencia partUri no se ajusta a la sintaxis de las secuencias ofuscadas.

En el ejemplo de código siguiente se muestra cómo se usa este método para crear una nueva interfaz.


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
}

Requisitos

   
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado xpsobjectmodel.h

Consulte también

IOpcPartUri

IXpsOMFontResource

IXpsOMObjectFactory

XML Paper Specification

Errores del documento XPS

XPS_FONT_EMBEDDING