Método ITpmVirtualSmartCardManager::CreateVirtualSmartCard (tpmvscmgr.h)
Cria uma cartão inteligente virtual do TPM com os parâmetros fornecidos.
Sintaxe
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
);
Parâmetros
[in] pszFriendlyName
Nome de exibição do nó de leitor de cartão inteligente. Isso é mostrado no Gerenciador de Dispositivos, mas não é o nome do leitor, como visto pelo SCRM (Smart cartão Resource Manager).
[in] bAdminAlgId
Identificador de algoritmo da chave de administração. Atualmente, para trabalhar com o minidriver GIDS da caixa de entrada, esse valor deve ser VSC_DEFAULT_ADMIN_ALGORITHM_ID (DES triplo de três chaves com o método de preenchimento ISO/IEC 9797 2 no modo de encadeamento CBC).
[in] pbAdminKey
Ponteiro para uma matriz de bytes que contém a chave de administrador da cartão inteligente virtual a ser criada.
[in] cbAdminKey
Tamanho, em bytes, da matriz de bytes apontada pelo parâmetro pbAdminKey .
[in, optional] pbAdminKcv
Ponteiro para uma matriz de bytes que contém a chave marcar valor da chave de administrador. O valor marcar chave é definido como os três primeiros bytes do BLOB de saída ao usar a chave de administração para criptografar um bloco de zeros. Se a chave marcar valor não for fornecida, não haverá nenhuma marcar de integridade para a chave de administrador.
[in] cbAdminKcv
Tamanho, em bytes, da matriz de bytes apontada pelo parâmetro pbAdminKcv .
[in, optional] pbPuk
Ponteiro para uma matriz de bytes que contém o valor de PUK (chave de desbloqueio de PIN) do cartão inteligente virtual. Geralmente, é uma sequência de caracteres ASCII com um comprimento mínimo de 8 caracteres. Se o PUK não for fornecido, o cartão inteligente virtual será criado sem uma função PUK e, em vez disso, usará a redefinição de PIN baseada em desafio/resposta por meio da função de administrador.
[in] cbPuk
Tamanho, em bytes, da matriz de bytes apontada pelo parâmetro pbPuk .
[in] pbPin
Ponteiro para uma matriz de bytes que contém o valor pin do cartão inteligente virtual. Geralmente, é uma sequência de caracteres ASCII com um comprimento mínimo de 8 caracteres e máximo de 127 caracteres.
[in] cbPin
Tamanho, em bytes, da matriz de bytes apontada pelo parâmetro pbPin .
[in] fGenerate
Indica se o cartão inteligente virtual precisa ser provisionado com todos os arquivos necessários exigidos pelo CSP base e pelo KSP de cartão inteligente.
[in, optional] pStatusCallback
Ponteiro para uma interface ITpmVirtualSmartCardManagerStatusCallback . O gerenciador de cartão inteligente virtual do TPM usa essa interface de retorno de chamada para comunicar o progresso ou o erro durante a criação de cartão inteligentes virtuais. Se o parâmetro pStatusCallback for NULL, nenhum progresso será relatado ao cliente antes da conclusão da operação.
[out] ppszInstanceId
Ponteiro para um ponteiro para um buffer Unicode para receber a ID da instância do cartão inteligente virtual criado.
[out] pfNeedReboot
Ponteiro para um valor booliano para receber se a operação solicitada precisa reinicializar o computador.
Retornar valor
Se o método for bem-sucedido, ele retornará S_OK.
Se o método falhar, ele retornará um código de erro Win32.
Comentários
Quando o método é bem-sucedido, o parâmetro ppszInstanceId aponta para o buffer Unicode que contém o identificador de instância do leitor de cartão inteligente virtual do TPM recém-criado. Quando você terminar de usar o buffer, o chamador precisará liberar o buffer no cliente chamando a função CoTaskMemFree , conforme indicado nas regras de gerenciamento de memória COM.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | tpmvscmgr.h |
Biblioteca | Vscmgr.lib |