我想使用EncryptFile函数加密文件/文件夹,同时冒充其他用户,我让其他用户完全控制文件,但我仍然拒绝访问。
HANDLE hUser;
if (LogonUser(L"test", L".", L"123", LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &hUser) == TRUE) {
ImpersonateLoggedOnUser(hUser);
if (EncryptFile(dir_to_enc) == FALSE) {
printf("%d\n", GetLastError()); // I get 5 - Access Denied
}
RevertToSelf();
CloseHandle(hUser);
}
编辑:
当我将LogonUser的第四个参数从LOGON32_LOGON_NETWORK更改为LOGON32_LOGON_INTERACTIVE时,错误代码更改为87,ERROR_INVALID_PARAMETER。