0
一部のプロセスでデータ実行保護(DEP)が使用されているかどうかを確認しようとすると、エラー87(INVALID_PARAMETER)が発生します。コードをチェックしても大丈夫だと思われますが、残念ながら私はまだ同じエラーがあります。GetProcessDEPPolicyエラー87
コード:コンパイルした後
BOOL var = true;
DWORD dwPolicy;
HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION, false, 3624);
if (hProc == NULL) {
cout << "Can't open Process because of the error " << GetLastError() << endl;
}
if (GetProcessDEPPolicy(hProc, &dwPolicy, 0) != FALSE) {
if (dwPolicy == PROCESS_DEP_ENABLE) {
cout << "For try.exe process data execution prevention is enabled" << endl;
}
else if (dwPolicy == NULL) {
cout << "For try.exe process data execution prevention is disabled" << endl;
}
else {
cout << "Data is thrunked and we can't change DEP value in future" << endl;
}
}
else {
cout << "There was an error with discovering DEP in try.exe process because of "<<GetLastError() << endl;
}
と実行私が手:
のドキュメントを見てThere was an error with discovering DEP in try.exe process because of 87
サイドノートでは、 'OpenProcess()は'失敗した場合、あなたは 'GetProcessDEPPolicy()'を呼び出すべきではありません。オープンした 'HANDLE'に対して' CloseHandle() 'を呼び出すことを忘れないでください。 –