Функция 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

Дескриптор каталога, полученный из функции CryptCATOpen или CryptCATHandleFromStore .

[in] pCatMember

Указатель на структуру CRYPTCATMEMBER , содержащую элемент каталога.

[in] pwszReferenceTag

Указатель на строку, завершающуюся значением NULL, которая содержит имя атрибута.

[in] dwAttrTypeAndAction

Значение типа , представляющее побитовое сочетание следующих флагов. Вызывающий объект должен по крайней мере указать CRYPTCAT_ATTR_DATABASE64 или CRYPTCAT_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
Header mscat.h
Библиотека Wintrust.lib
DLL Wintrust.dll