2016-05-10 20:20:14 +02:00
|
|
|
/*
|
|
|
|
Derived from source code of TrueCrypt 7.1a, which is
|
|
|
|
Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed
|
|
|
|
by the TrueCrypt License 3.0.
|
|
|
|
|
2016-08-09 23:26:15 +02:00
|
|
|
Modifications and additions to the original source code (contained in this file)
|
2017-06-12 11:16:25 +02:00
|
|
|
and all other portions of this file are Copyright (c) 2013-2017 IDRIX
|
2016-05-10 20:20:14 +02:00
|
|
|
and are governed by the Apache License 2.0 the full text of which is
|
|
|
|
contained in the file License.txt included in VeraCrypt binary and source
|
|
|
|
code distribution packages.
|
|
|
|
*/
|
|
|
|
|
|
|
|
import "wtypes.idl";
|
|
|
|
import "..\Common\Password.h";
|
|
|
|
|
|
|
|
[
|
|
|
|
uuid(56327DDA-F1A7-4e13-B128-520D129BDEF6),
|
|
|
|
helpstring("VeraCrypt Format UAC Support Library"),
|
2018-04-16 23:48:54 +02:00
|
|
|
version(2.8) // Update ComSetup.cpp when changing version number
|
2016-05-10 20:20:14 +02:00
|
|
|
]
|
|
|
|
library TrueCryptFormatCom
|
|
|
|
{
|
|
|
|
[
|
|
|
|
uuid(7AB357D9-A17F-466e-BCD6-F49E97C218D8),
|
|
|
|
object,
|
|
|
|
oleautomation,
|
|
|
|
helpstring("VeraCrypt Format UAC Support Interface")
|
|
|
|
]
|
|
|
|
interface ITrueCryptFormatCom : IUnknown
|
|
|
|
{
|
|
|
|
int AnalyzeHiddenVolumeHost (LONG_PTR hwndDlg, int *driveNo, __int64 hiddenVolHostSize, int *realClusterSize, __int64 *nbrFreeClusters);
|
|
|
|
DWORD CallDriver (DWORD ioctl, BSTR input, BSTR *output);
|
|
|
|
DWORD CopyFile (BSTR sourceFile, BSTR destinationFile);
|
|
|
|
DWORD DeleteFile (BSTR file);
|
|
|
|
BOOL FormatNtfs (int driveNo, int clusterSize);
|
|
|
|
BOOL IsPagingFileActive (BOOL checkNonWindowsPartitionsOnly);
|
|
|
|
DWORD ReadWriteFile (BOOL write, BOOL device, BSTR filePath, BSTR *bufferBstr, unsigned __int64 offset, unsigned __int32 size, DWORD *sizeDone);
|
|
|
|
DWORD RegisterFilterDriver (BOOL registerDriver, int filterType);
|
|
|
|
DWORD RegisterSystemFavoritesService (BOOL registerService);
|
|
|
|
DWORD SetDriverServiceStartType (DWORD startType);
|
|
|
|
DWORD WriteLocalMachineRegistryDwordValue (BSTR keyPath, BSTR valueName, DWORD value);
|
|
|
|
BOOL FormatFs (int driveNo, int clusterSize, int fsType);
|
2016-08-09 23:26:15 +02:00
|
|
|
DWORD GetFileSize (BSTR filePath, unsigned __int64* pSize);
|
|
|
|
DWORD DeviceIoControl (BOOL readOnly, BOOL device, BSTR filePath, DWORD dwIoControlCode, BSTR input, BSTR *output);
|
|
|
|
DWORD InstallEfiBootLoader (BOOL preserveUserConfig, BOOL hiddenOSCreation, int pim, int hashAlg);
|
|
|
|
DWORD BackupEfiSystemLoader ();
|
|
|
|
DWORD RestoreEfiSystemLoader ();
|
|
|
|
DWORD GetEfiBootDeviceNumber (BSTR* pSdn);
|
|
|
|
DWORD WriteEfiBootSectorUserConfig (DWORD userConfig, BSTR customUserMessage, int pim, int hashAlg);
|
2018-04-16 23:48:54 +02:00
|
|
|
DWORD UpdateSetupConfigFile (BOOL bForInstall);
|
2018-04-23 12:56:02 +02:00
|
|
|
DWORD GetSecureBootConfig (BOOL* pSecureBootEnabled, BOOL *pVeraCryptKeysLoaded);
|
2016-05-10 20:20:14 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
[
|
|
|
|
uuid(A96D3797-9F31-49f4-A0CE-9657392CF789),
|
|
|
|
helpstring("VeraCrypt Format UAC Support Coclass")
|
|
|
|
]
|
|
|
|
coclass TrueCryptFormatCom
|
|
|
|
{
|
|
|
|
[default] interface ITrueCryptFormatCom;
|
|
|
|
}
|
|
|
|
}
|