Как получить имя водителя? - PullRequest
2 голосов
/ 25 июня 2010

как мне получить имя драйвера устройства для использования с CreateFile?

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

спасибо!

1 Ответ

1 голос
/ 25 июня 2010

Это зависит от того, что вы хотите. Типичные примеры:

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

. увидит другие имена, которые вы можете использовать после префикса \\.\. Функция 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)

...