📄 tsp.idl
字号:
local,
object,
uuid(FBCD9C25-72CB-47BB-99DD-2317551491DE),
helpstring("ITCPAMaintenance Interface"),
pointer_default(unique)
]
interface ITCPAMaintenance: IUnknown
{
// HRESULT CreateMaintenanceArchive
// HRESULT KillMaintenanceFeature
// HRESULT LoadMaintenancePubKey
// HRESULT CheckMaintenancePubKey
};
//ITCPATpm Interface
[
uuid(FBCD9C21-72CB-47BB-99DD-2317551491DE),
helpstring("ITCPATpm Interface"),
pointer_default(unique)
]
interface ITCPATpm : IUnknown
{
[helpstring("method GetRandom")]
HRESULT GetRandom([in] UINT32 ulRandomDataLength,
[out, size_is(, ulRandomDataLength)] BYTE** ppbData);
[helpstring("method StirRandom")]
HRESULT StirRandom([in] UINT32 ulEntropyDataLength,
[in, size_is(ulEntropyDataLength)] BYTE* pbData);
[helpstring("method GetCapability")]
HRESULT GetCapability([in] TSS_FLAG CapArea,
[in] UINT32 ulSubCapLength,
[in, ptr, size_is(ulSubCapLength)] BYTE* pbSubCap,
[out] UINT32* pulRespDataLength,
[out, size_is(, *pulRespDataLength)] BYTE** ppbRespData);
[helpstring("method GetCapabilitySigned")]
HRESULT GetCapabilitySigned([in] ITCPAKey* pKey,
[in] TSS_FLAG CapArea,
[in] UINT32 ulSubCapLength,
[in, ptr, size_is(ulSubCapLength)] BYTE* pbSubCap,
[in, out, ptr] TSS_VALIDATION *pValidation,
[out] UINT32* pulRespDataLength,
[out, size_is(, *pulRespDataLength)] BYTE** ppbRespData);
// HRESULT GetEvent
// HRESULT GetEvents
// HRESULT GetEventLog
};
//ITCPAPersistentStorage Interface
[
local,
object,
uuid(FBCD9C1C-72CB-47BB-99DD-2317551491DE),
helpstring("ITCPAPersistentStorage Interface"),
pointer_default(unique)
]
interface ITCPAPersistentStorage: IUnknown
{
[helpstring("method LoadKeyByUUID")]
HRESULT LoadKeyByUUID([in] TSS_FLAG persistentStorageType,
[in] TSS_UUID uuidData,
[out] ITCPAKey** ppKey);
[helpstring("method RegisterKey")]
HRESULT RegisterKey([in] ITCPAKey* pKey,
[in] TSS_FLAG persistentStorageType,
[in] TSS_UUID uuidKey,
[in] TSS_FLAG persistentStorageTypeParent,
[in] TSS_UUID uuidParentKey);
[helpstring("method UnregisterKey")]
HRESULT UnregisterKey([in] TSS_FLAG persistentStorageType,
[in] TSS_UUID uuidKey,
[out] ITCPAKey** ppKey);
[helpstring("method DeleteKeyByUUID")]
HRESULT DeleteKeyByUUID([in] TSS_FLAG persistentStorageType,
[in] TSS_UUID uuidData);
[helpstring("method GetKeyByUUID")]
HRESULT GetKeyByUUID([in] TSS_FLAG persistentStorageType,
[in] TSS_UUID uuidData,
[out] ITCPAKey** ppKey);
[helpstring("method GetKeyByPublicInfo")]
HRESULT GetKeyByPublicInfo([in] TSS_FLAG persistentStorageType,
[in] TSS_ALGORITHM_ID ulAlgId,
[in] UINT32 ulPublicInfoLength,
[in, size_is(ulPublicInfoLength)] BYTE* pbPublicInfo,
[out] ITCPAKey** ppKey);
[helpstring("method GetRegisteredKeysByUUID")]
HRESULT GetRegisteredKeysByUUID([in] TSS_FLAG ulPersistentStorageType,
[in] LPOLESTR wszKeyGuid,
[out] UINT32* pulKeyHierarchySize,
[out, size_is(, *pulKeyHierarchySize)] TSS_KM_KEYINFO** ppKeyHierarchy);
}
//ITCPAContext Interface
[
local,
object,
uuid(FBCD9C1B-72CB-47BB-99DD-2317551491DE),
helpstring("ITCPAContext Interface"),
pointer_default(unique)
]
interface ITCPAContext : IUnknown
{
[helpstring("method Connect")]
HRESULT Connect([in, ptr] LPOLESTR wszRemoteMachine);
[helpstring("method CreateObject")]
HRESULT CreateObject([in] UINT32 ulObjectType,
[in] UINT32 ulInitFlags,
[out] IUnknown** ppUnkObject);
// HRESULT CloseObject
[helpstring("method LoadKeyByBlob")]
HRESULT LoadKeyByBlob([in] ITCPAKey* pUnwrappingKey,
[in] UINT32 ulBlobLength,
[in, size_is(ulBlobLength)] BYTE* pbBlobData,
[out] ITCPAKey** ppKey);
[helpstring("method GetTPMObject")]
HRESULT GetTPMObject([out] ITCPATpm** ppTPMObject);
[helpstring("method GetDefaultPolicy")]
HRESULT GetDefaultPolicy([out] ITCPAPolicy** ppPolicyObject);
[helpstring("method GetCapability")]
HRESULT GetCapability([in] TSS_FLAG ulCapArea,
[in] UINT32 ulSubCapLength,
[in, ptr, size_is(ulSubCapLength)] BYTE* pbSubCap,
[out] UINT32* pulRespDataLength,
[out, size_is(, *pulRespDataLength)] BYTE** ppbRespData);
};
//ITCPANonVolatileStorage Interface
[
object,
uuid(4730c51b-8998-43f6-993b-80befea1d404),
helpstring("ITCPANonVolatileStorage Interface"),
pointer_default(unique)
]
interface ITCPANonVolatileStorage : IUnknown
{
[helpstring("method DefineSpace")]
HRESULT DefineSpace([in] ITCPAPcrs* pPCRsRead,
[in] ITCPAPcrs* pPCRsWrite);
[helpstring("method ReleaseSpace")]
HRESULT ReleaseSpace();
[helpstring("method WriteValue")]
HRESULT WriteValue([in] UINT32 ulOffset,
[in] UINT32 ulDataLength,
[in, size_is(ulDataLength)] BYTE* rgbData);
[helpstring("method ReadValue")]
HRESULT ReadValue([in] UINT32 ulOffset,
[in, out] UINT32* pulDataLength,
[out, size_is(, *pulDataLength)] BYTE** prgbData);
};
//ITCPATransport Interface
[
object,
uuid(4730c51d-8998-43f6-993b-80befea1d404),
helpstring("ITCPATransport Interface"),
pointer_default(unique)
]
interface ITCPATransport : IUnknown
{
[helpstring("method SetTransEncryptionKey")]
HRESULT SetTransEncryptionKey([in] ITCPAKey* pKey);
[helpstring("method CloseSignTransport")]
HRESULT CloseSignTransport([in] ITCPAKey* pSigningKey,
[in, out, ptr] TSS_VALIDATION* pValidationData);
};
[
uuid(FBCD9C19-72CB-47BB-99DD-2317551491DE),
version(1.0),
helpstring("TSS Service Provider 1.0 Type Library")
]
library TSPLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
interface ITCPAContext;
//TCPAContext Class
[
uuid(FBCD9C1A-72CB-47BB-99DD-2317551491DE),
helpstring("TCPAContext Class")
]
coclass TCPAContext
{
[default] interface ITCPAContext;
interface ITCPAAttrib;
interface ITCPAPersistentStorage;
};
//TCPAContext2 Class extensions for TSS v1.2
[
uuid(4730C51E-8998-43F6-993B-80BEFEA1D404),
helpstring("TCPAContext2 Class")
]
coclass TCPAContext2
{
[default] interface ITCPAContext;
interface ITCPAAttrib;
interface ITCPAPersistentStorage;
interface ITCPATransport;
};
// _ITCPACallback Interface for TCPAPolicy Class
[
uuid(FBCD9C1F-72CB-47BB-99DD-2317551491DE),
helpstring("_ITCPACallback Interface"),
pointer_default(unique)
]
interface _ITCPACallback : IUnknown
{
[helpstring("method Tspicb_CallbackHMACAuth"), callback]
HRESULT Tspicb_CallbackHMACAuth([in] UINT32 PulAppData,
[in] IUnknown *PpAuthorizedObject,
[in] BOOL PfReturnOrVerify,
[in] UINT32 PulPendingFunction,
[in] BOOL PfContinueUse,
[in] UINT32 PulSizeNonces,
[in, size_is(PulSizeNonces)] BYTE* PrgbNonceEven,
[in, size_is(PulSizeNonces)] BYTE* PrgbNonceOdd,
[in, size_is(PulSizeNonces)] BYTE* PrgbNonceEvenOSAP,
[in, size_is(PulSizeNonces)] BYTE* PrgbNonceOddOSAP,
[in] UINT32 PulSizeDigestHmac,
[in, size_is(PulSizeDigestHmac)] BYTE* PrgbParamDigest,
[in, out, size_is(PulSizeDigestHmac)] BYTE* PrgbHmacData);
[helpstring("method Tspicb_CallbackXorEnc"), callback]
HRESULT Tspicb_CallbackXorEnc([in] UINT32 PulAppData,
[in] IUnknown *PpOSAPObject,
[in] IUnknown *PpObject,
[in] BOOL PfPurposeSecret,
[in] UINT32 PulSizeNonces,
[in, size_is(PulSizeNonces)] BYTE* PrgbNonceEven,
[in, size_is(PulSizeNonces)] BYTE* PrgbNonceOdd,
[in, size_is(PulSizeNonces)] BYTE* PrgbNonceEvenOSAP,
[in, size_is(PulSizeNonces)] BYTE* PrgbNonceOddOSAP,
[in] UINT32 PulSizeEncAuth,
[out, size_is(PulSizeEncAuth)] BYTE* PrgbEncAuthUsage,
[out, size_is(PulSizeEncAuth)] BYTE* PrgbEncAuthMigration);
[helpstring("method Tspicb_CallbackTakeOwnership"), callback]
HRESULT Tspicb_CallbackTakeOwnership([in] UINT32 PulAppData,
[in] IUnknown *PpObject,
[in] IUnknown *PpObjectPubKey,
[in] UINT32 PulSizeEncAuth,
[out, size_is(PulSizeEncAuth)] BYTE* PrgbEncAuth );
[helpstring("method Tspicb_CallbackChangeAuthAsym"), callback]
HRESULT Tspicb_CallbackChangeAuthAsym([in] UINT32 PulAppData,
[in] IUnknown *PpObject,
[in] IUnknown *PpObjectPubKey,
[in] UINT32 PulSizeEncAuth,
[in] UINT32 PulSizeAuthLink,
[out, size_is(PulSizeEncAuth)] BYTE* PrgbEncAuth,
[out, size_is(PulSizeAuthLink)] BYTE* PrgbAuthLink);
}; // end of _ITCPACallback
//TCPAPolicy Class
[
uuid(FBCD9C1D-72CB-47BB-99DD-2317551491DE),
helpstring("TCPAPolicy Class"),
noncreatable
]
coclass TCPAPolicy
{
[default] interface ITCPAPolicy;
interface ITCPAAttrib;
[default, source] interface _ITCPACallback;
};
//TCPATpm Class
[
uuid(FBCD9C20-72CB-47BB-99DD-2317551491DE),
helpstring("TCPATpm Class"),
noncreatable
]
coclass TCPATpm
{
[default] interface ITCPATpm;
interface ITCPAAttrib;
interface ITCPAAuth;
interface ITCPAIntegrity;
interface ITCPAAdministration;
interface ITCPAIdentityCreation;
interface ITCPAMaintenance;
};
//TCPAKey Class
[
uuid(FBCD9C26-72CB-47BB-99DD-2317551491DE),
helpstring("TCPAKey Class"),
noncreatable
]
coclass TCPAKey
{
[default] interface ITCPAKey;
interface ITCPAAttrib;
interface ITCPAAuth;
interface ITCPAMigration;
};
//TCPAEncData Class
[
uuid(FBCD9C28-72CB-47BB-99DD-2317551491DE),
helpstring("TCPAEncData Class"),
noncreatable
]
coclass TCPAEncData
{
[default] interface ITCPAEncData;
interface ITCPAAttrib;
interface ITCPAAuth;
};
//TCPAHash Class
[
uuid(FBCD9C2A-72CB-47BB-99DD-2317551491DE),
helpstring("TCPAHash Class"),
noncreatable
]
coclass TCPAHash
{
[default] interface ITCPAHash;
interface ITCPAAttrib;
};
//TCPAPcrs Class
[
uuid(FBCD9C2C-72CB-47BB-99DD-2317551491DE),
helpstring("TCPAPcrs Class"),
noncreatable
]
coclass TCPAPcrs
{
[default] interface ITCPAPcrs;
};
//TCPANonVolatileStorage Class
[
uuid(4730c51c-8998-43f6-993b-80befea1d404),
helpstring("TCPANonVolatileStorage Class"),
noncreatable
]
coclass TCPANonVolatileStorage
{
[default] interface ITCPANonVolatileStorage;
interface ITCPAAttrib;
interface ITCPAAuth;
};
}; // end of library TSPLib
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -