Condividi tramite


Funzione CryptCATPutAttrInfo (mscat.h)

[La funzione CryptCATPutAttrInfo è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Potrebbe essere modificato o non disponibile nelle versioni successive.]

La funzione CryptCATPutAttrInfo alloca memoria per un attributo e la aggiunge a un membro del catalogo.

Sintassi

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

Parametri

[in] hCatalog

Handle per il catalogo ottenuto dalla funzione CryptCATOpen o CryptCATHandleFromStore .

[in] pCatMember

Puntatore a una struttura CRYPTCATMEMBER che contiene il membro del catalogo.

[in] pwszReferenceTag

Puntatore a una stringa con terminazione Null contenente il nome dell'attributo.

[in] dwAttrTypeAndAction

Valore che rappresenta una combinazione bit per bit dei flag seguenti. Il chiamante deve almeno specificare CRYPTCAT_ATTR_DATABASE64 o CRYPTCAT_ATTR_DATAASCII.

Valore Significato
CRYPTCAT_ATTR_AUTHENTICATED
0x10000000
L'attributo è autenticato.
CRYPTCAT_ATTR_UNAUTHENTICATED
0x20000000
L'attributo non è autenticato.
CRYPTCAT_ATTR_NAMEASCII
0x00000001
L'attributo è una stringa ASCII.
CRYPTCAT_ATTR_NAMEOBJID
0x00000002
L'attributo è un identificatore di oggetto crittografico (OID).
CRYPTCAT_ATTR_DATAASCII
0x00010000
L'attributo contiene semplici caratteri ASCII che non devono essere decodificati.
CRYPTCAT_ATTR_DATABASE64
0x00020000
L'attributo è in formato base 64.
CRYPTCAT_ATTR_DATAREPLACE
0x00040000
L'attributo sostituisce il valore per un attributo esistente.

[in] cbData

Valore che specifica il numero di byte nel buffer pbData .

[in] pbData

Puntatore a un buffer di memoria contenente il valore dell'attributo.

Valore restituito

Al termine dell'operazione, questa funzione restituisce un puntatore a una struttura CRYPTCATATTRIBUTE che contiene l'attributo assegnato. Il chiamante non deve liberare questo puntatore o uno dei relativi membri.

Se questa funzione restituisce NULL, è possibile ottenere informazioni aggiuntive sull'errore chiamando la funzione GetLastError . GetLastError restituirà uno dei codici di errore seguenti.

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Uno o più parametri non sono validi.
ERROR_NOT_ENOUGH_MEMORY
Il sistema operativo ha esaurito la memoria durante l'operazione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mscat.h
Libreria Wintrust.lib
DLL Wintrust.dll