2010-06-25 6 views
2

CreateFile과 함께 사용할 장치의 드라이버 이름을 어떻게 얻을 수 있습니까?드라이버 이름을 얻는 방법?

handle = CreateFile(DRIVER_NAME_HERE, 
        GENERIC_READ | GENERIC_WRITE, 
        FILE_SHARE_READ | FILE_SHARE_WRITE, 
        NULL, OPEN_EXISTING, 0, NULL); 

감사합니다!

답변

1

원하는대로 달라집니다. 전형적인 예는

\\.\C: 
\\.\Tcp 
\\.\PhysicalDrive0 
\\?\usbstor#disk&ven_sandisk&prod_cruzer&rev_8.01#1740030578903736&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} 
\\.\CON 

(http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx 참조)입니다. WinObj (http://technet.microsoft.com/en-us/sysinternals/bb896657.aspx 참고)를 사용하여 어떤 장치를 사용할 수 있는지 더 자세히 이해하는 것이 좋습니다. WinObj.exe를 시작하고 GLOBAL?? 네임 스페이스를 선택하면 \\.\ 접두사 뒤에 다른 이름을 사용할 수 있습니다. 함수 QueryDosDevice도 도움이 될 수 있습니다.

당신은 당신이 구문 \\.\MyLogicalDevicName (http://msdn.microsoft.com/en-us/library/aa364014(VS.85).aspx 참조) CreateFile에서 사용할 수있는 이름 \Device\Blabla에서 추가 심볼릭 링크를 생성 DefineDosDevice 기능을 사용할 수 있습니다.

사용자가 장치의 기능 DeviceIoControl 대하여 IOCTL 코드를 보낼 경우 CreateFile 번째 파라미터로서 0 대신 GENERIC_READ | GENERIC_WRITE 사용해야

( http://msdn.microsoft.com/en-us/library/aa363147(v=VS.85).aspx 참조)
관련 문제