共用方式為


IXpsOMObjectFactory::CreateFontResource 方法(xpsobjectmodel.h)

建立 IXpsOMFontResource 介面,提供字型資源的 IStream 介面。

語法

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

參數

[in] acquiredStream

唯讀的 IStream 介面將與此字型資源相關聯。 此參數不得為 NULL。

將此串流視為 Single-Threaded 公寓(STA)物件;請勿重新進入。
 
小心 這條串流不可混淆。
 

[in] fontEmbedding

XPS_FONT_EMBEDDING值,用來指定串流的嵌入選項。

[in] partUri

IOpcPartUri 介面,其中包含要指派給此資源的組件名稱。 此參數不得為 NULL。

[in] isObfSourceStream

一個布林值,用來表示 acquiredStream 所參考的串流是否被混淆。

價值觀 Meaning
TRUE
acquiredStream 所參考的串流是混淆的。
FALSE
acquiredStream 所參考的串流不會被混淆。

[out, retval] fontResource

指向新 IXpsOMFontResource 介面的指標。

返回值

這個方法會傳回 HRESULT。 可能的值包括但不限於下表中的值。 如需此表格中未列出之 XPS 檔 API 傳回值的相關資訊,請參閱 XPS 檔錯誤

回傳碼 Description
S_OK
此方法已成功。
E_INVALIDARG
以下其中一項錯誤發生:
  • fontEmbedding 不是一個有效的 XPS_FONT_EMBEDDING 值。
  • fontEmbedding 是XPS_FONT_EMBEDDING_NORMAL,isObfSourceStream 是 TRUE。
E_POINTER
acquiredStreampartUrifontResource 皆為 NULL。

備註

isObfSourceStream 的值描述了字型資源建立時所獲得 Stream 參考串流的狀態。 所有後續對 GetStreamSetContent 的呼叫都會在未混淆的 IStream 版本上運作。

isObfSourceStream 設為 TRUEfontEmbedding 設為 XPS_FONT_EMBEDDING_NORMAL,或 partUri 參考的名稱不符合混淆串流的語法,則會回傳錯誤。

以下範例說明了如何利用此方法建立新的介面。


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
}

需求

Requirement 價值觀
最低支援的用戶端 Windows 7、Windows Vista 搭配 SP2 及 Windows Vista 平台更新 [桌面應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2008 R2、Windows Server 2008 搭配 SP2 及 Windows Server 2008 平台更新 [桌面應用程式 |UWP 應用程式]
目標平臺 窗戶
Header xpsobjectmodel.h

另請參閱

IOpcPartUri

IXpsOMFontResource

IXpsOMObjectFactory

XML 紙張規格

XPS 文件錯誤

XPS_FONT_EMBEDDING