vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Re: treiber 
Autor: ModeratorMartoeng (Moderator)
Datum: 30.11.05 16:18

hier mal der code aus der inpout-dll, die verwendet für xp einen treiber. sollte eigentlich alles ersichtlich sein.

/*********************************************************************/

int Opendriver(void)
{
hdriver = CreateFile("\\\\.\\hwinterface",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);

if(hdriver == INVALID_HANDLE_VALUE)
{


if(start())
{
inst();
start();

hdriver = CreateFile("\\\\.\\hwinterface",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);

}



return 1;
}
return 0;
}

/***********************************************************************/

int inst()
{

SC_HANDLE Mgr;
SC_HANDLE Ser;


GetSystemDirectory(path , sizeof(path));
HRSRC hResource = FindResource(hmodule, MAKEINTRESOURCE(IDR_BIN1), "bin");
if(hResource)
{
HGLOBAL binGlob = LoadResource(hmodule, hResource);

if(binGlob)
{
void *binData = LockResource(binGlob);

if(binData)
{
HANDLE file;
strcat(path,"\\Drivers\\hwinterface.sys");

file = CreateFile(path,
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
0,
NULL);

if(file)
{
DWORD size, written;

size = SizeofResource(hmodule, hResource);
WriteFile(file, binData, size, &written, NULL);
CloseHandle(file);

}
}
}
}


Mgr = OpenSCManager (NULL, NULL,SC_MANAGER_ALL_ACCESS);
if (Mgr == NULL)
{ //No permission to create service
if (GetLastError() == ERROR_ACCESS_DENIED)
{
return 5; // error access denied
}
}
else
{
Ser = CreateService (Mgr,
"hwinterface",
"hwinterface",
SERVICE_ALL_ACCESS,
SERVICE_KERNEL_DRIVER,
SERVICE_SYSTEM_START,
SERVICE_ERROR_NORMAL,
"System32\\Drivers\\hwinterface.sys",
NULL,
NULL,
NULL,
NULL,
NULL
);




}

CloseServiceHandle(Ser);
CloseServiceHandle(Mgr);

return 0;
}
/**************************************************************************/
int start(void)
{
SC_HANDLE Mgr;
SC_HANDLE Ser;

Mgr = OpenSCManager (NULL, NULL,SC_MANAGER_ALL_ACCESS);

if (Mgr == NULL)
{ //No permission to create service
if (GetLastError() == ERROR_ACCESS_DENIED)
{
Mgr = OpenSCManager (NULL, NULL,GENERIC_READ);
Ser = OpenService(Mgr,"hwinterface",GENERIC_EXECUTE);
if (Ser)
{ // we have permission to start the service
if(!StartService(Ser,0,NULL))
{
CloseServiceHandle (Ser);
return 4; // we could open the service but unable to start
}

}

}
}
else
{// Successfuly opened Service Manager with full access

Ser = OpenService(Mgr,"hwinterface",GENERIC_EXECUTE);
if (Ser)
{
if(!StartService(Ser,0,NULL))
{
CloseServiceHandle (Ser);
return 3; // opened the Service handle with full access permission, but unable to start
}
else
{
CloseServiceHandle (Ser);
return 0;
}

}

}

return 1;
}


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
treiber1.314prognoob30.11.05 08:54
Re: treiber813ModeratorMartoeng30.11.05 13:10
Re: treiber756prognoob30.11.05 15:28
Re: treiber788ModeratorMartoeng30.11.05 15:34
Re: treiber722prognoob30.11.05 15:38
Re: treiber928ModeratorMartoeng30.11.05 16:18
Re: treiber826prognoob01.12.05 07:16

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel