IOpcDigitalSignature::GetNamespaces メソッド (msopc.h)

署名マークアップの Signature 要素のプレフィックスと名前空間のマッピングを取得します。

構文

HRESULT GetNamespaces(
  [out] LPWSTR **prefixes,
  [out] LPWSTR **namespaces,
  [out] UINT32 *count
);

パラメーター

[out] prefixes

XML プレフィックス文字列のバッファーへのポインター。 メソッドが成功した場合は、 CoTaskMemFree 関数を呼び出してバッファー内の各文字列のメモリを解放し、バッファー自体のメモリを解放します。

[out] namespaces

XML 名前空間文字列のバッファーへのポインター。 メソッドが成功した場合は、 CoTaskMemFree 関数を呼び出してバッファー内の各文字列のメモリを解放し、バッファー自体のメモリを解放します。

[out] count

プレフィックス名前空間バッファーのサイズ。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
E_POINTER
prefixes パラメーターは NULL です
E_POINTER
namespaces パラメーターは NULL です
E_POINTER
count パラメーターは NULL です

解説

プレフィックス名前空間バッファーは、インデックスによって相互にマップされます。

このメソッドは、 プレフィックス名前空間 で返されるバッファーと、各バッファーに含まれる文字列によって使用されるメモリを割り当てます。

次のコードは 、CoTaskMemFree を使用してバッファーのメモリとバッファーに含まれる文字列を解放する方法を示しています。

// Prepare to call GetNamespaces
LPWSTR* prefixes = NULL;
LPWSTR* namespaces = NULL;
UINT32 count = 0;

// Call to GetNamespaces succeeds
if ( SUCCEEDED( signature->GetNamespaces(&prefixes, &namespaces, &count) ) )
{
    // Process strings in prefixes and namespaces as needed for the application

    // Free memory for each string
    for (UINT32 i = 0; i < count; i++)
    {
        CoTaskMemFree(prefixes[i]);
        CoTaskMemFree(namespaces[i]);
    }
    // Free memory for the buffers
    CoTaskMemFree(prefixes);
    CoTaskMemFree(namespaces);
}

要件

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

関連項目

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

デジタル署名の概要

Packaging API を使用したはじめに

IOpcDigitalSignature

概要

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

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

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

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

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

参照