2010-06-25 136 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也可能有幫助。

可以使用DefineDosDevice函數來創建\Device\Blabla到,你可以在CreateFile與語法\\.\MyLogicalDevicName(見http://msdn.microsoft.com/en-us/library/aa364014(VS.85).aspx)使用名稱的附加符號鏈接。

如果您要發送IOCTL代碼對於DeviceIoControl功能的設備,你應該使用0而不是GENERIC_READ | GENERIC_WRITE作爲CreateFile第二個參數(見http://msdn.microsoft.com/en-us/library/aa363147(v=VS.85).aspx

相關問題