드라이버가있어서 심볼 이름을 만들었습니다. 기호 이름은 내가 ...사용자 모드에서 드라이버 핸들 열기
다음 경로에CreateFile()
를 사용하여 시도
"The system cannot find the file specified".
, 내가 usermode
에서 CreateFile()
를 사용하여 장치 개체에 액세스하려고 할 때
L"\\DosDevices\\hook"
, 난 항상 오류가 발생입니다 ...
"\\.\hook"
"\\Device\\hook"
"\\\\.\\hook"
"\\.\hook"
하지만 여전히 작동하지 않습니다. 그러나 Visual Basic 6에서 동일한 API 호출을 시도하면 "\\. \\ hook"이 올바르게 작동하지만 "\\. \\ hook"이어야한다고 나와 있습니다. 여기에 무슨 문제가 있습니까? 이 모든 "\"의 목적은 무엇이며 Visual C++에서 어떻게 작동하게합니까?
실제로 문제는 간단한 문자열을 유니 코드 함수에 전달하는 것이 었습니다. 마지막으로 Visual C++에서 작동하는 문자열은 "L"\\\\입니다.장치 이름 타입 LPCTSTR이어야한다 때문에 주로 "후크 및 헤더 나처럼 발견 \\ 다음 - LPCWSTR LPCTSTR 타입 정의 UNICODE #ifdef와; #else LPCSTR LPCTSTR 타입 정의 ; – whatisinaname
#endif 다음 @ user250687 : 아 멋지다. 나는 가능성 목록 ("한 가지 질문은 실수로 넓은 문자열을 ANSI 함수에 전달했는지, 따라서 존재하지 않는 경로를 찾느냐가 문제가 될 것입니다.)입니다." 다행 이네. 다행이야. – 0xC0000022L