
#ifndef __NTREG_DRIVERS_H_
#define __NTREG_DRIVERS_H_

/**
 * @file: ntregDrivers.h
 *
 * Tento soubor obsahuje definice konstant a hlavicek funkci pro modul
 * dovolujici provadet operace s ovladaci pomoci funkci NtLoadDriver a
 * NtUnloadDriver a primym pristupem do registru.
 */

#include <windows.h>

// Prefix, ktery musi kazde interni jmeno ovladace obdrzet, nez bude
// predano nativnim funkcim NtLoadDriver a NtUnloadDriver.
#define NTLD_NAME_PREFIX       L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\services"

// Nazev klice, ve kterem jsou formou podlicu ulozny informace o vsech
// nainstalovanych sluzbach (a tedy i ovladacich) v systemu.
#define SERVICES_KEY           L"SYSTEM\\CurrentControlSet\\services"



// Popis vyznamu jednotlivych rutin naleznete v komentarich u jejich
// implementace v souboru ntregDrivers.c.

BOOL ntldInstallDriver (PWCHAR DriverName, PWCHAR FileName);
BOOL ntldLoadDriver (PWCHAR DriverName);
BOOL ntldUnloadDriver (PWCHAR DriverName);
BOOL ntldUninstallDriver (PWCHAR DriverName);

BOOL ntldInit(VOID);
VOID ntldFinit(VOID);



#endif
