Condividi tramite


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

Vedi anche

ITpmVirtualSmartCardManager