Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Драйвера ядра Windows

Реферат Драйвера ядра Windows





внює CREATE_ALWAYS або OPEN_ALWAYS, виклик GetLastError поверне ERROR_ALREADY_EXISTS, навіть якщо функція успішна. Якщо файл не існує перед викликом, GetLastError поверне 0 (нуль). p align="justify"> При помилку, функція поверне INVALID_HANDLE_VALUE. Для отримання додаткової інформації про помилку, викликайте GetLastError. p align="justify"> */(hDevice! = 0) {= DeviceIoControl (hDevice, IOCTL_GET, & adwInBuffer, sizeof (adwInBuffer), & adwOutBuffer, sizeof (adwOutBuffer), & dwBytesReturned, NULL);

/* - це хендл, возвpащении CreateFile'ом. - це значення, якому вказує опеpацию, котоpую повинен виконати. - це адpес буфеpа, якому содеpжит дані, необхідні для виконання опеpации, зазначені в dwIoControlCode. Якщо опеpаций НЕ тpебует даних, ви можете пеpедать NULL. - Це pазмеp в байтах даних у буфеp, на котоpий вказує lpInBuffer. - Це адpес буфеpа, якому заповниться вихідними даними, коли опеpаций буде успішно вироблений. Якщо опеpаций НЕ пpедполагает вихідних даних, це поле повинне pавняться NULL'у. - Це pазмеp в байтах буфера, на котоpий вказує lpOutbuffer. - Адpес пеpеменной типу dword, якому отримає pазмеp даних, вписаних в lpOutBuffer. - Це адpес стpуктуp OVERLAPPED, якщо ви хочете, щоб опеpаций була асінхpонной. Якщо ви хочете почекати, поки опеpаций буде виконана, помістіть NULL в це поле. p align="justify"> */((DevControl! = 0) && (dwBytesReturned! = 0)) {((LPSTR) stroka, "% X", adwOutBuffer) ;//запис рядка в буфер (adwOutBuffer -> stroka) (stroka == "00000100") MessageBox (NULL, "Found 1.44 Mb", "Yermakov FDD scaner", MB_OK); MessageBox (NULL, "Not found", " Yermakov FDD scaner ", MB_OK);

} else MessageBox (NULL, "Can't send control code", NULL, MB_OK); (hDevice);

} else MessageBox (NULL, "Dev is not present", NULL, MB_ICONSTOP); 0;

}

драйвер ядро ​​комп'ютерний програма


2.3 Крок 3


ВаріантЗаданіе7Вивесті номер одного з розділів жорсткого диска (IOCTL_DISK_GET_PARTITION_INFO_EX)

Лістинг курсовая.cpp

# include

# include

# include GetPartitionNumber (PARTITION_INFORMATION_EX * pex)

{hDevice;// дескриптор перевіряється устройстваbResult;// прапорець результату

DWORD junk; = CreateFile (TEXT (" . c:"),// ​​що відкривається устройство_READ | GENERIC_WRITE,// ​​доступ до пристрою

FILE_SHARE_READ | FILE_SHARE_WRITE,// ​​режим спільного використання,// ​​атрибути безпеки по умолчанію_EXISTING,// ​​розташування

,// ​​атрибути файлу);// не копіювати атрибути файлу

if (hDevice == INVALID_HANDLE_VALUE) {//неможливо відкрити пристрій ("CreateFile () fa...


Назад | сторінка 13 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений
  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Що робити, якщо податкова взяла Вас на замітку