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

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





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

if (hDevice == INVALID_HANDLE_VALUE) {//неможливо відкрити пристрій ("CreateFile () failed! n"); (FALSE);

} = DeviceIoControl (hDevice,// ​​запитане устройство_DISK_GET_PARTITION_INFO_EX,// ​​виконувана операція

NULL,// ​​покажчик на вхідний буфер

,// ​​розмір вхідного буфера, sizeof (* pex),// ​​вихідний буфер

& junk,// ​​кількість повертаються байтів

(LPOVERLAPPED) NULL);// синхронізація вводу/виводу (I/O)

CloseHandle (hDevice); (bResult);

} _tmain (int argc, _TCHAR * argv []) {_HANDLE hSCManager; _HANDLE hService; acDriverPath [256]; hDevice; DevControl; dwBytesReturned; adwInBuffer, adwOutBuffer; stroka [7]; _INFORMATION_EX pex; // структура устройстваbResult; = CreateFile (" . sldevGet", GENERIC_READ + GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); (hDevice! = 0) {= DeviceIoControl (hDevice, IOCTL_GET, & adwInBuffer, sizeof (adwInBuffer), & adwOutBuffer, sizeof (adwOutBuffer), & dwBytesReturned, NULL); ((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); = OpenSCManager (NULL, NULL, SC_MANAGER_CREATE_SERVICE); (hSCManager! = 0) {("beeper.sys", sizeof acDriverPath, acDriverPath, NULL );

// Реєстрація музиканта в таблицях SCM = CreateService (hSCManager, "beeper11", "Nice Melody 0, NULL); (hService); (hService);

} else MessageBox (NULL, "Can't register driver", NULL, MB_ICONSTOP); (hSCManager);

} else MessageBox (NULL, "Can't connect to SCManager", NULL, MB_ICONSTOP);

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

} else MessageBox (NULL, "Dev is not present", NULL, MB_ICONSTOP); = GetPartitionNumber (& pex); (bResult) {printf ("PartitionNumber =% d n" , pex.PartitionNumber);

} else {printf ("GetPartitionNumber () failed. Error% d. n", GetLastError ());} ("PAUSE"); ((int) bResult);

}



3. Робота програми


В 

Малюнок 3.1. Драйвер з кроку 2


В 

Малюнок 3.2. Драйвер з кроку 3


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





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

  • Реферат на тему: Розробка програми, що реалізує алгоритм, який використовує z-буфер
  • Реферат на тему: Буфер обміну
  • Реферат на тему: Робота зі структурою двійкового файлу
  • Реферат на тему: Основні атрибути буття
  • Реферат на тему: Розробка програми для підрахунку хеш-суми файлу і тексту з графічним інтерф ...