typedef long LONG;
typedef LONG HRESULT;
typedef wchar_t WCHAR;
typedef byte BYTE;
typedef unsigned long DWORD;
typedef long BOOL;
typedef enum __MIDL___MIDL_itf_tpmvscmgr_0000_0000_0001 {
TPMVSCMGR_STATUS_VTPMSMARTCARD_INITIALIZING = 0,
TPMVSCMGR_STATUS_VTPMSMARTCARD_CREATING = 1,
TPMVSCMGR_STATUS_VTPMSMARTCARD_DESTROYING = 2,
TPMVSCMGR_STATUS_VGIDSSIMULATOR_INITIALIZING = 3,
TPMVSCMGR_STATUS_VGIDSSIMULATOR_CREATING = 4,
TPMVSCMGR_STATUS_VGIDSSIMULATOR_DESTROYING = 5,
TPMVSCMGR_STATUS_VREADER_INITIALIZING = 6,
TPMVSCMGR_STATUS_VREADER_CREATING = 7,
TPMVSCMGR_STATUS_VREADER_DESTROYING = 8,
TPMVSCMGR_STATUS_GENERATE_WAITING = 9,
TPMVSCMGR_STATUS_GENERATE_AUTHENTICATING = 10,
TPMVSCMGR_STATUS_GENERATE_RUNNING = 11,
TPMVSCMGR_STATUS_CARD_CREATED = 12,
TPMVSCMGR_STATUS_CARD_DESTROYED = 13
} TPMVSCMGR_STATUS;
typedef enum __MIDL___MIDL_itf_tpmvscmgr_0000_0000_0002 {
TPMVSCMGR_ERROR_IMPERSONATION = 0,
TPMVSCMGR_ERROR_PIN_COMPLEXITY = 1,
TPMVSCMGR_ERROR_READER_COUNT_LIMIT = 2,
TPMVSCMGR_ERROR_TERMINAL_SERVICES_SESSION = 3,
TPMVSCMGR_ERROR_VTPMSMARTCARD_INITIALIZE = 4,
TPMVSCMGR_ERROR_VTPMSMARTCARD_CREATE = 5,
TPMVSCMGR_ERROR_VTPMSMARTCARD_DESTROY = 6,
TPMVSCMGR_ERROR_VGIDSSIMULATOR_INITIALIZE = 7,
TPMVSCMGR_ERROR_VGIDSSIMULATOR_CREATE = 8,
TPMVSCMGR_ERROR_VGIDSSIMULATOR_DESTROY = 9,
TPMVSCMGR_ERROR_VGIDSSIMULATOR_WRITE_PROPERTY = 10,
TPMVSCMGR_ERROR_VGIDSSIMULATOR_READ_PROPERTY = 11,
TPMVSCMGR_ERROR_VREADER_INITIALIZE = 12,
TPMVSCMGR_ERROR_VREADER_CREATE = 13,
TPMVSCMGR_ERROR_VREADER_DESTROY = 14,
TPMVSCMGR_ERROR_GENERATE_LOCATE_READER = 15,
TPMVSCMGR_ERROR_GENERATE_FILESYSTEM = 16,
TPMVSCMGR_ERROR_CARD_CREATE = 17,
TPMVSCMGR_ERROR_CARD_DESTROY = 18
} TPMVSCMGR_ERROR;
[uuid(00000000-0000-0000-c000-000000000046)]
[object]
[pointer_default(unique)]
interface IUnknown {
};
[uuid(1a1bb35f-abb8-451c-a1ae-33d98f1bef4a)]
[object]
[pointer_default(unique)]
interface ITpmVirtualSmartCardManagerStatusCallback : IUnknown {
HRESULT ReportProgress(
[in] TPMVSCMGR_STATUS Status);
HRESULT ReportError(
[in] TPMVSCMGR_ERROR Error);
};
[uuid(112b1dff-d9dc-41f7-869f-d67fee7cb591)]
[object]
[pointer_default(unique)]
interface ITpmVirtualSmartCardManager : IUnknown {
HRESULT CreateVirtualSmartCard(
[in] [string] WCHAR * pszFriendlyName,
[in] BYTE bAdminAlgId,
[in] [size_is(cbAdminKey)] BYTE * pbAdminKey,
[in] DWORD cbAdminKey,
[in] [size_is(cbAdminKcv)] [unique] BYTE * pbAdminKcv,
[in] DWORD cbAdminKcv,
[in] [size_is(cbPuk)] [unique] BYTE * pbPuk,
[in] DWORD cbPuk,
[in] [size_is(cbPin)] BYTE * pbPin,
[in] DWORD cbPin,
[in] BOOL fGenerate,
[in] [unique] ITpmVirtualSmartCardManagerStatusCallback * pStatusCallback,
[out] [string] WCHAR ** ppszInstanceId,
[out] BOOL * pfNeedReboot);
HRESULT DestroyVirtualSmartCard(
[in] [string] WCHAR * pszInstanceId,
[in] [unique] ITpmVirtualSmartCardManagerStatusCallback * pStatusCallback);
};