Metodo ITpmVirtualSmartCardManager::CreateVirtualSmartCard (tpmvscmgr.h)
Crea una smart card virtuale TPM con i parametri specificati.
Sintassi
HRESULT CreateVirtualSmartCard(
[in] LPCWSTR pszFriendlyName,
[in] BYTE bAdminAlgId,
[in] const BYTE *pbAdminKey,
[in] DWORD cbAdminKey,
[in, optional] const BYTE *pbAdminKcv,
[in] DWORD cbAdminKcv,
[in, optional] const BYTE *pbPuk,
[in] DWORD cbPuk,
[in] const BYTE *pbPin,
[in] DWORD cbPin,
[in] BOOL fGenerate,
[in, optional] ITpmVirtualSmartCardManagerStatusCallback *pStatusCallback,
[out] LPWSTR *ppszInstanceId,
[out] BOOL *pfNeedReboot
);
Parametri
[in] pszFriendlyName
Nome visualizzato del nodo lettore smart card. Questo valore viene visualizzato nella Gestione dispositivi, ma non è il nome del lettore, come illustrato da GESTIONE risorse smart card ( SCRM).
[in] bAdminAlgId
Identificatore dell'algoritmo della chiave di amministrazione. Attualmente, per usare il minidriver GIDS in arrivo, questo valore deve essere VSC_DEFAULT_ADMIN_ALGORITHM_ID (triple DES a 3 chiavi con metodo di riempimento ISO/IEC 9797 2 in modalità concatenamento CBC).
[in] pbAdminKey
Puntatore a una matrice di byte contenente la chiave di amministrazione della smart card virtuale da creare.
[in] cbAdminKey
Dimensioni, in byte, della matrice di byte a cui punta il parametro pbAdminKey .
[in, optional] pbAdminKcv
Puntatore a una matrice di byte che contiene il valore di controllo della chiave della chiave amministratore. Il valore del controllo della chiave viene definito come i primi 3 byte del BLOB di output quando si usa la chiave amministratore per crittografare un blocco di zeri. Se il valore del controllo della chiave non viene specificato, non sarà presente alcun controllo di integrità per la chiave amministratore.
[in] cbAdminKcv
Dimensioni, in byte, della matrice di byte a cui punta il parametro pbAdminKcv .
[in, optional] pbPuk
Puntatore a una matrice di byte che contiene il valore della chiave di sblocco PIN (PUK) della smart card virtuale. Si tratta in genere di una sequenza di caratteri ASCII con una lunghezza minima di 8 caratteri. Se la chiave puk non viene specificata, la smart card virtuale verrà creata senza un ruolo PUK e userà invece la reimpostazione del PIN basata su richiesta/risposta tramite il ruolo di amministratore.
[in] cbPuk
Dimensioni, in byte, della matrice di byte a cui punta il parametro pbPuk .
[in] pbPin
Puntatore a una matrice di byte che contiene il valore PIN della smart card virtuale. Si tratta in genere di una sequenza di caratteri ASCII con lunghezza massima di 8 caratteri e 127 caratteri.
[in] cbPin
Dimensioni, in byte, della matrice di byte a cui punta il parametro pbPin .
[in] fGenerate
Indica se è necessario eseguire il provisioning della smart card virtuale con tutti i file necessari richiesti dal provider di servizi di configurazione di base e dal provider di servizi di configurazione della smart card.
[in, optional] pStatusCallback
Puntatore a un'interfaccia ITpmVirtualSmartCardManagerStatusCallback . Il gestore di smart card virtuali TPM usa questa interfaccia di callback per comunicare lo stato di avanzamento o l'errore durante la creazione di smart card virtuali. Se il parametro pStatusCallback è NULL, non viene segnalato alcun avanzamento al client prima del completamento dell'operazione.
[out] ppszInstanceId
Puntatore a un puntatore a un buffer Unicode per ricevere l'ID istanza della smart card virtuale creata.
[out] pfNeedReboot
Puntatore a un valore booleano per ricevere se l'operazione richiesta deve riavviare il computer.
Valore restituito
Se il metodo ha esito positivo, restituisce S_OK.
Se il metodo ha esito negativo, restituisce un codice di errore Win32.
Commenti
Quando il metodo ha esito positivo, il parametro ppszInstanceId punta al buffer Unicode che contiene l'identificatore dell'istanza del lettore di smart card virtuale TPM appena creato. Al termine dell'uso del buffer, il chiamante deve liberare il buffer nel client chiamando la funzione CoTaskMemFree , come indicato nelle regole di gestione della memoria COM.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [solo app desktop] |
Server minimo supportato | Windows Server 2012 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | tpmvscmgr.h |
Libreria | Vscmgr.lib |