CnCrypt代码 之 比较靠谱的临时驱动挂载和卸载方法

本文介绍了CnCrypt便携版中可靠的方法来挂载和卸载临时驱动。通过在驱动启动时设置删除标记,当驱动停止运行时,系统会自动卸载该驱动,确保操作的安全与便捷。
摘要由CSDN通过智能技术生成

CnCrypt便携版采用的驱动挂载和卸载方法,驱动启动之后直接添加删除标记,当驱动停止后,驱动就会自动卸载。


// Install and start driver service and mark it for removal (non-install mode)
int  DriverLoad()
{
	SC_HANDLE		hManager = NULL, hService = NULL;
	WCHAR			szDriverPath[CC_LONG_PATH + 1];
	BOOL			bResult = FALSE;
	DWORD			dwStartType;

	if (ReadLocalMachineRegistryDword(L"SYSTEM\\CurrentControlSet\\Services\\CnCrypt", L"Start", &dwStartType)
		&& (dwStartType == SERVICE_SYSTEM_START || dwStartType == SERVICE_BOOT_START))
	{
		return ERR_PARAMETER_INCORRECT;
	}

	GetModPath(szDriverPath, ARRAYSIZE(szDriverPath));
	wcscat(szDriverPath, !OSVersion::Is64BitOs() ? L"CnCrypt.sys" : L"CnCrypt-x64.sys");
	if (!FileExists(szDriverPath))
	{
		Error("DRIVER_NOT_FOUND");
		return ERR_DONT_REPORT;
	}

	hManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
	if (hManager == NUL
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值