peerIdentityCreate 函数 (p2p.h)
PeerIdentityCreate 函数创建新的对等标识并返回其名称。 必须在对等标识的所有后续调用中传递对等标识的名称,以代表对等标识运行的对等Identity Manager、对等分组或 PNRP 函数。 对等标识名称指定正在使用的对等标识。
语法
NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerIdentityCreate(
[in] PCWSTR pwzClassifier,
[in] PCWSTR pwzFriendlyName,
[in] HCRYPTPROV hCryptProv,
[out] PWSTR *ppwzIdentity
);
参数
[in] pwzClassifier
指定要追加到已发布的对等标识名称的分类器。 此字符串是 Unicode 字符串,可以为 NULL。 此字符串的长度只能为 150 个字符,包括 NULL 终止符。
[in] pwzFriendlyName
指定对等标识的友好名称。 这是一个 Unicode 字符串,可以为 NULL。 此字符串的长度只能为 256 个字符,包括 NULL 终止符。 如果 pwzFriendlyName 为 NULL,则标识的名称为友好名称。 友好名称是可选的,并且不一定是唯一的。
[in] hCryptProv
加密服务提供程序 (CSP) 的句柄,其中包含长度至少为 1024 位的AT_KEYEXCHANGE密钥对。 此密钥对用作新对等标识的基础。 如果 hCryptProv 为零 (0) ,则会为对等标识生成新的密钥对。
[out] ppwzIdentity
接收指向所创建的对等标识名称的指针。 此名称必须用于对代表对等标识运行的对等Identity Manager、对等分组或 PNRP 函数的所有后续调用。 如果无法创建对等标识,则返回 NULL 。
返回值
如果函数调用成功,则返回值 S_OK。 否则,它将返回以下值之一。
返回代码 | 说明 |
---|---|
|
hCryptProv 指定的密钥句柄无效。 |
|
其中一个参数无效。 |
|
内存不足,无法执行指定的操作。 |
|
对等标识已存在。 仅当基于指定键和分类器的对等标识已存在时才发生。 |
|
对对等标识或对等组密钥的访问被拒绝。 通常,这是由于包含用户或计算机密钥的文件夹的访问控制列表 (ACL) 不正确导致的。 手动重置 ACL 时可能会发生这种情况。 |
|
无法创建对等标识,因为对等标识太多。 |
注解
密钥对和分类器用于生成新对等标识的对等名称。 创建对等标识后,该标识会自动存储在磁盘上。
应使用 PeerFreeData 释放标识的名称。 这不会删除对等标识。 若要删除标识,请使用 PeerIdentityDelete 函数。
如果 hCryptProv 不为 NULL,则可以在调用返回后使用 CryptReleaseContext 释放它。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 带 SP2 的 Windows XP [仅限桌面应用],带 SP1 的 Windows XP 和适用于 Windows XP 的高级网络包 |
最低受支持的服务器 | 无受支持的版本 |
目标平台 | Windows |
标头 | p2p.h |
Library | P2P.lib |
DLL | P2P.dll |