Определить букву диска оборудования SD-карты - PullRequest
4 голосов
/ 11 августа 2010

Есть ли способ программно определить букву драйвера SD-карты в Windows?Поддерживает ли метод внутреннее и внешнее оборудование SD-карты?Спасибо за ваше время.

1 Ответ

1 голос
/ 12 августа 2010

Вы можете попробовать GetLogicalDriveStrings , чтобы получить буквы диска, а затем использовать GetDriveType , чтобы увидеть, является ли диск съемным или нет.Затем вы можете получить больше информации об устройстве, как это (пример для CD-ROM, но должен показать вам идею):

//handle to the drive to be examined
HANDLE hDevice = CreateFile(TEXT("\\\\.\\G:"), //Drive to open
GENERIC_READ|GENERIC_WRITE, //Access to the drive
FILE_SHARE_READ|FILE_SHARE_WRITE, //Share mode
NULL, //Security
OPEN_EXISTING,0, // no file attributes
NULL);

if (hDevice == INVALID_HANDLE_VALUE) return 0;

CDROM_TOC val; // table of contents for a generic CDROM
DWORD nBytesReturned;

BOOL bResult= DeviceIoControl(
hDevice,
IOCTL_CDROM_READ_TOC,//operation to perform
&val, sizeof(val),//no input buffer
&val, sizeof(val),//output buffer
&nBytesReturned,//#bytes returned
(LPOVERLAPPED) NULL);//synchronous I/O

CloseHandle(hDevice);
...