Método ITpmVirtualSmartCardManager::CreateVirtualSmartCard (tpmvscmgr.h)
Crea una tarjeta inteligente virtual de TPM con los parámetros especificados.
Sintaxis
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
Nombre para mostrar del nodo lector de tarjetas inteligentes. Esto se muestra en el Administrador de dispositivos, pero no es el nombre del lector como lo ve el administrador de recursos de tarjeta inteligente (SCRM).
[in] bAdminAlgId
Identificador de algoritmo de la clave de administración. Actualmente, para trabajar con el minidriver GIDS de la bandeja de entrada, este valor debe ser VSC_DEFAULT_ADMIN_ALGORITHM_ID (triple DES de 3 claves con el método de relleno ISO/IEC 9797 2 en modo de encadenamiento CBC).
[in] pbAdminKey
Puntero a una matriz de bytes que contiene la clave de administración de la tarjeta inteligente virtual que se va a crear.
[in] cbAdminKey
Tamaño, en bytes, de la matriz de bytes a la que apunta el parámetro pbAdminKey .
[in, optional] pbAdminKcv
Puntero a una matriz de bytes que contiene el valor de comprobación de claves de la clave de administración. El valor de comprobación de claves se define como los tres primeros bytes del BLOB de salida cuando se usa la clave de administración para cifrar un bloque de ceros. Si no se proporciona el valor de comprobación de claves, no habrá ninguna comprobación de integridad para la clave de administración.
[in] cbAdminKcv
Tamaño, en bytes, de la matriz de bytes a la que apunta el parámetro pbAdminKcv .
[in, optional] pbPuk
Puntero a una matriz de bytes que contiene el valor de clave de desbloqueo de PIN (PUK) de la tarjeta inteligente virtual. Normalmente es una secuencia de caracteres ASCII con una longitud mínima de 8 caracteres. Si no se proporciona la PUK, la tarjeta inteligente virtual se creará sin un rol puk y, en su lugar, usará el restablecimiento del PIN basado en desafíos o respuestas mediante el rol de administrador.
[in] cbPuk
Tamaño, en bytes, de la matriz de bytes a la que apunta el parámetro pbPuk .
[in] pbPin
Puntero a una matriz de bytes que contiene el valor pin de la tarjeta inteligente virtual. Normalmente es una secuencia de caracteres ASCII con una longitud de 8 caracteres como mínimo y 127 caracteres como máximo.
[in] cbPin
Tamaño, en bytes, de la matriz de bytes a la que apunta el parámetro pbPin .
[in] fGenerate
Indica si la tarjeta inteligente virtual debe aprovisionarse con todos los archivos necesarios requeridos por el CSP base y el KSP de tarjeta inteligente.
[in, optional] pStatusCallback
Puntero a una interfaz ITpmVirtualSmartCardManagerStatusCallback . El administrador de tarjetas inteligentes virtuales de TPM usa esta interfaz de devolución de llamada para comunicar el progreso o error durante la creación de tarjetas inteligentes virtuales. Si el parámetro pStatusCallback es NULL, no se notifica ningún progreso al cliente antes de que se complete la operación.
[out] ppszInstanceId
Puntero a un puntero a un búfer Unicode para recibir el identificador de instancia de la tarjeta inteligente virtual creada.
[out] pfNeedReboot
Puntero a un valor booleano para recibir si la operación solicitada necesita reiniciar el equipo.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK.
Si se produce un error en el método, devuelve un código de error win32.
Comentarios
Cuando el método se realiza correctamente, el parámetro ppszInstanceId apunta al búfer Unicode que contiene el identificador de instancia del lector de tarjetas inteligentes virtuales de TPM recién creado. Cuando haya terminado de usar el búfer, el autor de la llamada debe liberar el búfer en el cliente mediante una llamada a la función CoTaskMemFree , como se indica en las reglas de administración de memoria COM.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | tpmvscmgr.h |
Library | Vscmgr.lib |