Comment on utililise ReadEventLog ??

Meske - 20 avril 2001 à 14:44
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 11 avril 2006 à 14:05
QQ sais comment on utililise ReadEventLog ??
pour lire dans le Evnet Log de NT ..
Un petit exemple de source par exemple ...
Je cherche de mon coté mais ca fait deux jours que je pietine ...
Merci d'avance
Tristan BAZIN

9 réponses

Salut,

Il faut le faire en C (gestion de pointeur oblige)

voici un exemple

void DisplayEntries( )
{
HANDLE h;
EVENTLOGRECORD *pevlr;
BYTE bBuffer[BUFFER_SIZE];
DWORD dwRead, dwNeeded, cRecords, dwThisRecord = 0;

// Open the Application event log.

h = OpenEventLog( NULL, // use local computer
"Application"); // source name
if (h == NULL)
ErrorExit("Could not open the Application event log.");

pevlr = (EVENTLOGRECORD *) &bBuffer;

// Opening the event log positions the file pointer for this
// handle at the beginning of the log. Read the records
// sequentially until there are no more.

while (ReadEventLog(h, // event log handle
EVENTLOG_FORWARDS_READ | // reads forward
EVENTLOG_SEQUENTIAL_READ, // sequential read
0, // ignored for sequential reads
pevlr, // pointer to buffer
BUFFER_SIZE, // size of buffer
&dwRead, // number of bytes read
&dwNeeded)) // bytes in next record
{
while (dwRead > 0)
{
// Print the event identifier, type, and source name.
// The source name is just past the end of the
// formal structure.

printf("%02d Event ID: 0x%08X ",
dwThisRecord++, pevlr->EventID);
printf("EventType: %d Source: %s\n",
pevlr->EventType, (LPSTR) ((LPBYTE) pevlr +
sizeof(EVENTLOGRECORD)));

dwRead -= pevlr->Length;
pevlr = (EVENTLOGRECORD *)
((LPBYTE) pevlr + pevlr->Length);
}

pevlr = (EVENTLOGRECORD *) &bBuffer;
}

CloseEventLog(h);
}

Tu trouveras des exemples sous MSDN event log [Win32]

D2000
0
fabieune92 Messages postés 8 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 11 avril 2006
10 avril 2006 à 16:58
Y a t-il un moyen de le faire en VB sans passer par une dll en C ou autre...
Via des API?
Un exemple simple serait genial: (avec les declaration et tout...)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 avril 2006 à 17:38
"Il faut le faire en C (gestion de pointeur oblige)"
euh...................... non ^^

suffit de porter le code ........

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fabieune92 Messages postés 8 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 11:19
"suffit de porter le code" c'est à dire?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dthuler Messages postés 121 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 avril 2009
11 avril 2006 à 11:54
VB 6.0, .NET ou 2005 ?
sous .NET ou 2005, il y a toujours le code VB MSDN pour t'aider :
http://support.microsoft.com/default.aspx?scid=kb;en-us;814564#E0PD0ACAAA

~~ Brainiax ~~ [8D]
0
fabieune92 Messages postés 8 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 11:59
Je fais du VB 6.0
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
11 avril 2006 à 12:15
il "suffit de" porter le code (le traduire) de C vers VB...

à coups de :
Private Declare Function CloseEventLog Lib "advapi32.dll" (ByVal hEventLog As Long) As Long
Private Declare Function OpenEventLog Lib "advapi32.dll" Alias "OpenEventLogA" (ByVal lpUNCServerName As String, ByVal lpSourceName As String) As Long
Private Declare Function ReadEventLog Lib "advapi32.dll" Alias "ReadEventLogA" (ByVal hEventLog As Long, ByVal dwReadFlags As Long, ByVal dwRecordOffset As Long, ByRef lpBuffer As EVENTLOGRECORD, ByVal nNumberOfBytesToRead As Long, ByRef pnBytesRead As Long, ByRef pnMinNumberOfBytesNeeded As Long) As Long

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fabieune92 Messages postés 8 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 12:21
Merci beaucoup, c'est exactement ce qu'il me manquait, je n'arrivais pas à faire la traduc des API en VB....
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
11 avril 2006 à 14:05
[www.allapi.net www.allapi.net]

télécharges l'API-Viewer

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous