VeraCrypt/src/Format/FormatCom.idl

63 lines
2.6 KiB
Plaintext
Raw Normal View History

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.
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"),
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);
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);
DWORD UpdateSetupConfigFile (BOOL bForInstall);
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;
}
}