IOpcSignatureCustomObject::GetXml メソッド (msopc.h)

アプリケーション固有の Object 要素の XML マークアップ 取得します。

構文

HRESULT GetXml(
  [out] UINT8  **xmlMarkup,
  [out] UINT32 *count
);

パラメーター

[out] xmlMarkup

Object 要素の XML マークアップを含み、開始タグと終了オブジェクト タグを含むバッファーへのポインター。

バッファーでは、XML マークアップの前に、マークアップのエンコードに対応する バイト順マーク が付きます。

サポートされているエンコードと バイト順マーク の値。

Encoding 説明 バイト順マーク (BOM: Byte Order Mark)
UTF8 UTF-8 EF BB BF
UTF16LE UTF-16、リトル エンディアン FF FE
UTF16BE UTF-16、ビッグ エンディアン FE FF
 

バイト順マークを持つバッファーの例については、「解説」セクションを参照してください。

[out] count

xmlMarkup バッファーのサイズへのポインター。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
E_POINTER
少なくとも 1 つの xmlMarkup パラメーターと count パラメーターが NULL です

注釈

このメソッドは、 xmlMarkup で返されるバッファーによって使用されるメモリを割り当てます。 メソッドが成功した場合は、 CoTaskMemFree 関数を呼び出してメモリを解放します。

署名マークアップ内のシリアル化されたアプリケーション固有 の Object 要素は、署名マークアップを置き換えることによって追加、削除、または変更できます。

シグネチャ マークアップを置き換えるには、 IOpcDigitalSignatureManager::ReplaceSignatureXml メソッドを 呼び出します。 呼び出し元は、アプリケーション固有の Object 要素の追加、削除、または変更によって署名が中断されないようにする必要があります。

アプリケーション固有の Object 要素またはその要素の子に署名するには、署名する XML 要素への参照を作成します。 referenceUri パラメーター値が "#" に設定され、その後に参照される要素の Id 属性値が続く IOpcSignatureReferenceSet::Create メソッドを呼び出して、参照を作成します。 たとえば、参照される要素の Id 属性が "Application" の場合は、 referenceUri を "#Application" に設定します。

次の表は、"<Object Id="id1"></Object>" を含む xmlMarkup バッファーの先頭にあるバイト順マークを示しています。

バッファー バイト インデックス 0 1 2 3 4 5 6 7 ...
UTF8 値 EF BB BF '<' 'O' 'b' 'j' 'e' ...
UTF16LE値 FF FE '<' 00 'O' 00 'b' 00 ...
 

スレッド セーフ

オブジェクトのパッケージ化はスレッド セーフではありません。

詳細については、「Packaging API を使用したはじめに」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー msopc.h

こちらもご覧ください

コア パッケージ インターフェイス

Packaging API を使用したはじめに

IOpcDigitalSignatureManager

IOpcSignatureCustomObject

IOpcSignatureReferenceSet

概要

パッケージ化 API プログラミング ガイド

パッケージ化 API リファレンス

API サンプルのパッケージ化

デジタル署名インターフェイスのパッケージ化

インターフェイスのパッケージ化

参照