IXpsOMObjectFactory::CreateFontResource メソッド (xpsobjectmodel.h)

フォント リソースへの IStream インターフェイスを提供する IXpsOMFontResource インターフェイスを作成します。

構文

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 によって参照されるストリームが難読化されているかどうかを示すブール値。

意味
True
acquiredStream によって参照されるストリームは難読化されます。
False
acquiredStream によって参照されるストリームは難読化されません。

[out, retval] fontResource

新しい IXpsOMFontResource インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。 使用可能な値には、次の表に含まれる値が含まれますが、これらに限定されません。 この表に記載されていない XPS ドキュメント API の戻り値については、「 XPS ドキュメント エラー」を参照してください。

リターン コード 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
次のいずれかのエラーが発生しました。
E_POINTER
acquiredStreampartUri、または fontResourceNULL です

注釈

isObfSourceStream の値は、フォント リソースが作成された時点での acquiredStream 参照ストリームの状態を表します。 GetStream または SetContent に対する後続のすべての呼び出しは、難読化されていないバージョンの IStream に対して動作します。

isObfSourceStreamTRUE に設定され、fontEmbeddingXPS_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
}

要件

   
サポートされている最小のクライアント Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー xpsobjectmodel.h

こちらもご覧ください

IOpcPartUri

IXpsOMFontResource

IXpsOMObjectFactory

XML Paper Specification

XPS ドキュメント エラー

XPS_FONT_EMBEDDING