PeerIdentityCreate 関数 (p2p.h)

PeerIdentityCreate 関数は、新しいピア ID を作成し、その名前を返します。 ピア ID の名前は、ピア ID に代わって動作するピア Identity Manager、ピア グループ化、または PNRP 関数への後続のすべての呼び出しで渡す必要があります。 ピア ID 名は、使用するピア ID を指定します。

構文

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerIdentityCreate(
  [in]  PCWSTR     pwzClassifier,
  [in]  PCWSTR     pwzFriendlyName,
  [in]  HCRYPTPROV hCryptProv,
  [out] PWSTR      *ppwzIdentity
);

パラメーター

[in] pwzClassifier

パブリッシュされたピア ID 名に追加する分類子を指定します。 この文字列は Unicode 文字列であり、 NULL にすることができます。 この文字列は、 NULL ターミネータを含め、150 文字の長さに限定できます。

[in] pwzFriendlyName

ピア ID のフレンドリ名を指定します。 これは Unicode 文字列であり、 NULL にすることができます。 この文字列は、 NULL ターミネータを含め、256 文字のみ使用できます。 pwzFriendlyName が NULL の場合、ID の名前はフレンドリ名です。 フレンドリ名は省略可能であり、一意である必要はありません。

[in] hCryptProv

少なくとも 1024 ビットのAT_KEYEXCHANGEキー ペアを含む暗号化サービス プロバイダー (CSP) に対して処理します。 このキー ペアは、新しいピア ID の基礎として使用されます。 hCryptProv がゼロ (0) の場合、ピア ID に対して新しいキー ペアが生成されます。

メモIdentity Manager API は、ユーザーが保護したキーを持つ CSP をサポートしていません。 ユーザー保護キーを持つ CSP が使用されている場合、 PeerIdentityCreate は E_INVALIDARGを返します。
 

[out] ppwzIdentity

作成されたピア ID の名前へのポインターを受け取ります。 この名前は、ピア ID に代わって動作するピア Identity Manager、ピア グループ化、または PNRP 関数への後続のすべての呼び出しで使用する必要があります。 ピア ID を作成できない場合は NULL を 返します。

戻り値

関数呼び出しが成功した場合、戻り値は S_OK。 それ以外の場合は、次のいずれかの値が返されます。

リターン コード 説明
ERROR_INVALID_HANDLE
hCryptProv で指定されたキーへのハンドルが無効です。
E_INVALIDARG
パラメーターの 1 つが無効です。
E_OUTOFMEMORY
指定した操作を実行するのに十分なメモリがありません。
PEER_E_ALREADY_EXISTS
ピア ID は既に存在します。 指定したキーと分類子に基づくピア ID が既に存在する場合にのみ発生します。
PEER_E_NO_KEY_ACCESS
ピア ID またはピア グループ キーへのアクセスが拒否されます。 通常、これは、ユーザーまたはコンピューター のキーを含むフォルダーのアクセス制御リスト (ACL) が正しくないことが原因で発生します。 これは、ACL が手動でリセットされた場合に発生する可能性があります。
PEER_E_TOO_MANY_IDENTITIES
ピア ID が多すぎるため、ピア ID を作成できません。

注釈

キー ペアと分類子は、新しいピア ID のピア名を生成するために使用されます。 ピア ID が作成されると、自動的にディスクに格納されます。

PeerFreeData を使用して、ID の名前を解放する必要があります。 これにより、ピア ID は削除されません。 ID を削除するには、 PeerIdentityDelete 関数を使用します。

hCryptProv が NULL でない場合は、呼び出しが返された後に CryptReleaseContext を使用して解放できます。

要件

要件 値
サポートされている最小のクライアント Windows XP と SP2 [デスクトップ アプリのみ]、Windows XP 用 Advanced Networking Pack を使用した SP1 の Windows XP
サポートされている最小のサーバー サポートなし
対象プラットフォーム Windows
ヘッダー p2p.h
Library P2P.lib
[DLL] P2P.dll

こちらもご覧ください

CryptReleaseContext

PeerFreeData

PeerIdentityDelete