Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > Запрет использования dvd привода


Автор: samrisbe 27.5.2011, 10:49
Доброе утро!
 Кто нибудь подскажите надежный способ програмно запретить или разрешить исполбзование DVD привода?
Своими силами такая жуть получилась, что компилятор меня буквально покрыл трехэтажным матом...


Код

if (CheckBox9->Checked==true)
 {
        // Заблокировать дверцу
 HANDLE hDevice = CreateFile ("\\\\.\\E:",
 GENERIC_READ,
 FILE_SHARE_READ | FILE_SHARE_WRITE,
 NULL,
 OPEN_EXISTING,
 NULL,
 NULL);
 DWORD dwBytesReturned = 0;
 PREVENT_MEDIA_REMOVAL pmr = {TRUE};
 if(!DeviceIoControl (hDevice, IOCTL_STORAGE_MEDIA_REMOVAL, &pmr, sizeof(pmr), NULL, 0, &dwBytesReturned, NULL)) AfxMessageBox ("Door can\'t be locked");
 CloseHandle (hDevice);
 }
else
 {        // Разблокировать дверцу
 HANDLE hDevice = CreateFile ("\\\\.\\E:",
 GENERIC_READ,
 FILE_SHARE_READ | FILE_SHARE_WRITE,
 NULL,
 OPEN_EXISTING,
 NULL,
 NULL);
 DWORD dwBytesReturned = 0;
 PREVENT_MEDIA_REMOVAL pmr = {FALSE};
 if(!DeviceIoControl (hDevice, IOCTL_STORAGE_MEDIA_REMOVAL, &pmr, sizeof(pmr), NULL, 0, &dwBytesReturned, NULL)) AfxMessageBox ("Door can\'t be unlocked");
 CloseHandle (hDevice);
 }

ошибки:
1
2
3
4
5
6
7
8
9
10
11
12    [BCC32 Error] Unit1.cpp(1754): E2451 Undefined symbol 'PREVENT_MEDIA_REMOVAL'
[BCC32 Error] Unit1.cpp(1754): E2379 Statement missing ;
[BCC32 Error] Unit1.cpp(1755): E2451 Undefined symbol 'IOCTL_STORAGE_MEDIA_REMOVAL'
[BCC32 Error] Unit1.cpp(1755): E2451 Undefined symbol 'pmr'
[BCC32 Error] Unit1.cpp(1755): E2109 Not an allowed type
[BCC32 Error] Unit1.cpp(1755): E2268 Call to undefined function 'AfxMessageBox'
[BCC32 Error] Unit1.cpp(1768): E2451 Undefined symbol 'PREVENT_MEDIA_REMOVAL'
[BCC32 Error] Unit1.cpp(1768): E2379 Statement missing ;
[BCC32 Error] Unit1.cpp(1769): E2451 Undefined symbol 'IOCTL_STORAGE_MEDIA_REMOVAL'
[BCC32 Error] Unit1.cpp(1769): E2451 Undefined symbol 'pmr'
[BCC32 Error] Unit1.cpp(1769): E2109 Not an allowed type
[BCC32 Error] Unit1.cpp(1769): E2268 Call to undefined function 'AfxMessageBox'


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)