Condividi tramite


Funzione ReadEventLogA (winbase.h)

Legge il numero specificato di voci dal registro eventi specificato. La funzione può essere usata per leggere le voci di log in ordine cronologico o cronologico inverso.

Sintassi

BOOL ReadEventLogA(
  [in]  HANDLE hEventLog,
  [in]  DWORD  dwReadFlags,
  [in]  DWORD  dwRecordOffset,
  [out] LPVOID lpBuffer,
  [in]  DWORD  nNumberOfBytesToRead,
  [out] DWORD  *pnBytesRead,
  [out] DWORD  *pnMinNumberOfBytesNeeded
);

Parametri

[in] hEventLog

Handle del registro eventi da leggere. La funzione OpenEventLog restituisce questo handle.

[in] dwReadFlags

Usare i valori di flag seguenti per indicare come leggere il file di log. Questo parametro deve includere uno dei valori seguenti (i flag si escludono a vicenda).

Valore Significato
EVENTLOG_SEEK_READ
0x0002
Iniziare a leggere dal record specificato nel parametro dwRecordOffset.

Questa opzione potrebbe non funzionare con file di log di grandi dimensioni se la funzione non è in grado di determinare le dimensioni del file di log. Per informazioni dettagliate, vedere l'articolo della Knowledge Base 177199.

EVENTLOG_SEQUENTIAL_READ
0x0001
Leggere i record in sequenza.

Se si tratta della prima operazione di lettura, i flag EVENTLOG_FORWARDS_READ EVENTLOG_BACKWARDS_READ determinano il record letto per primo.

 

È necessario specificare uno dei flag seguenti per indicare la direzione per le operazioni di lettura successive (i flag si escludono a vicenda).

Valore Significato
EVENTLOG_FORWARDS_READ
0x0004
Il log viene letto in ordine cronologico (meno recente o più recente).

Impostazione predefinita.

EVENTLOG_BACKWARDS_READ
0x0008
Il log viene letto in ordine cronologico inverso (più recente al meno recente).

[in] dwRecordOffset

Numero di record della voce di log in corrispondenza della quale deve essere avviata l'operazione di lettura. Questo parametro viene ignorato a meno che dwReadFlags includa il flag EVENTLOG_SEEK_READ.

[out] lpBuffer

Buffer allocato dall'applicazione che riceverà una o più strutture EVENTLOGRECORD. Questo parametro non può essere NULL, anche se il parametro nNumberOfBytesToRead è zero.

La dimensione massima di questo buffer è 0x7ffff byte.

[in] nNumberOfBytesToRead

Dimensioni in byte del buffer lpBuffer . Questa funzione leggerà il numero di voci di log che verranno inserite nel buffer; la funzione non restituirà voci parziali.

[out] pnBytesRead

Puntatore a una variabile che riceve il numero di byte letti dalla funzione.

[out] pnMinNumberOfBytesNeeded

Puntatore a una variabile che riceve le dimensioni necessarie del buffer lpBuffer. Questo valore è valido solo se questa funzione restituisce zero e GetLastError restituisce ERROR_INSUFFICIENT_BUFFER.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

Quando questa funzione viene restituita correttamente, la posizione di lettura nel registro eventi viene modificata in base al numero di record letti.

Nota Il nome file configurato per questa origine può essere anche il nome file configurato per altre origini (diverse origini possono esistere come sottochiavi in un singolo log). Pertanto, questa funzione può restituire eventi registrati da più di un'origine.
 

Esempi

Per un esempio, vedere Querying for Event Information.

Nota

L'intestazione winbase.h definisce ReadEventLog come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winbase.h (include Windows.h)
libreria Advapi32.lib
dll Advapi32.dll
set di API ext-ms-win-advapi32-eventlog-ansi-l1-1-0 (introdotto in Windows 10, versione 10.0.10240)

Vedere anche

ClearEventLog

CloseEventLog

EVENTLOGRECORD

Funzioni di registrazione eventi

OpenEventLog

ReportEvent