PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY funzione di callback (wincrypt.h)

La funzione di callback PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY genera la chiave simmetrica usata per crittografare il contenuto per un messaggio in busto. Questa funzione viene chiamata dalla funzione CryptMsgOpenToEncode quando inizializza la struttura CMSG_CONTENT_ENCRYPT_INFO .

Sintassi

PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY PfnCmsgGenContentEncryptKey;

BOOL PfnCmsgGenContentEncryptKey(
  [in, out] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

Parametri

[in, out] pContentEncryptInfo

Puntatore a una struttura CMSG_CONTENT_ENCRYPT_INFO che contiene la chiave.

[in] dwFlags

Questo valore non viene utilizzato. Impostarlo su zero.

pvReserved

Questo parametro è riservato e deve essere NULL.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).

Se la funzione ha esito negativo, il valore restituito è zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Commenti

È possibile usare le funzioni di supporto OID per distribuire questa funzione di callback. Wincrypt.h definisce le costanti seguenti a questo scopo.

È necessario definire funzioni di callback diverse per le chiavi CAPI1 e l'API di crittografia: chiavi CNG (Next Generation). Entrambe le funzioni hanno la stessa firma, ma usano identificatori di oggetto diversi (OID). La funzione chiamata dipende dal valore del membro fCNG della struttura CMSG_CONTENT_ENCRYPT_INFO a cui punta il parametro pContentEncryptInfo . Nella tabella seguente viene illustrata la relazione tra la funzione di callback e il valore del membro fCNG .

valore fCNG Costante Definizione
FALSE CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC o CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllGenContentEncryptKey"
TRUE CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllCNGGenContentEncryptKey"

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 wincrypt.h