CryptCATPutAttrInfo 函数 (mscat.h)

[ CryptCATPutAttrInfo 函数可用于“要求”部分中指定的操作系统。 在后续版本中,它可能已更改或不可用。]

CryptCATPutAttrInfo 函数为属性分配内存,并将其添加到目录成员。

语法

CRYPTCATATTRIBUTE * CryptCATPutAttrInfo(
  [in] HANDLE         hCatalog,
  [in] CRYPTCATMEMBER *pCatMember,
  [in] LPWSTR         pwszReferenceTag,
  [in] DWORD          dwAttrTypeAndAction,
  [in] DWORD          cbData,
  [in] BYTE           *pbData
);

参数

[in] hCatalog

CryptCATOpenCryptCATHandleFromStore 函数获取的目录的句柄。

[in] pCatMember

指向包含目录成员的 CRYPTCATMEMBER 结构的指针。

[in] pwszReferenceTag

指向包含属性名称的以 null 结尾的字符串的指针。

[in] dwAttrTypeAndAction

一个 值,该值表示以下标志的按位组合。 调用方必须至少指定 CRYPTCAT_ATTR_DATABASE64CRYPTCAT_ATTR_DATAASCII

含义
CRYPTCAT_ATTR_AUTHENTICATED
0x10000000
属性已经过身份验证。
CRYPTCAT_ATTR_UNAUTHENTICATED
0x20000000
属性未经身份验证。
CRYPTCAT_ATTR_NAMEASCII
0x00000001
属性是 ASCII 字符串。
CRYPTCAT_ATTR_NAMEOBJID
0x00000002
特性是 OID) (加密 对象标识符
CRYPTCAT_ATTR_DATAASCII
0x00010000
属性包含不应解码的简单 ASCII 字符。
CRYPTCAT_ATTR_DATABASE64
0x00020000
属性采用 base 64 格式。
CRYPTCAT_ATTR_DATAREPLACE
0x00040000
特性替换现有属性的值。

[in] cbData

一个 值,该值指定 pbData 缓冲区中的字节数。

[in] pbData

指向包含属性值的内存缓冲区的指针。

返回值

成功后,此函数返回指向包含分配特性的 CRYPTCATATTRIBUTE 结构的指针。 调用方不得释放此指针或其任何成员。

如果此函数返回 NULL,可以通过调用 GetLastError 函数来获取其他错误信息。 GetLastError 将返回以下错误代码之一。

返回代码 说明
ERROR_INVALID_PARAMETER
一个或多个参数无效。
ERROR_NOT_ENOUGH_MEMORY
操作系统在操作期间内存不足。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 mscat.h
Library Wintrust.lib
DLL Wintrust.dll