Funzione NdisWriteEventLogEntry (ndis.h)
NdisWriteEventLogEntry registra un evento nel registro eventi Win32.
Sintassi
NDIS_STATUS NdisWriteEventLogEntry(
[in] PVOID LogHandle,
[in] NDIS_STATUS EventCode,
[in] ULONG UniqueEventValue,
[in] USHORT NumStrings,
[in, optional] PVOID StringsList,
[in] ULONG DataSize,
[in, optional] PVOID Data
);
Parametri
[in] LogHandle
Puntatore all'oggetto driver del protocollo che registra questo evento.
[in] EventCode
Specifica il codice NDIS_STATUS_XXX che descrive l'evento.
[in] UniqueEventValue
Identifica questa istanza del messaggio di errore.
[in] NumStrings
Specifica il numero di puntatori alle stringhe Unicode nel StringsList facoltativo. Se StringsList è NULL, NumStrings deve essere zero.
[in, optional] StringsList
NULL o punta a stringhe Unicode memorizzate nel buffer. Queste stringhe, che descrivono l'evento, vengono inserite nel registro eventi Win32 e possono essere esaminate con il visualizzatore eventi Win32. Ogni stringa deve essere una stringa Unicode con terminazione NUL.
[in] DataSize
Specifica il numero di byte nel buffer per i dati binari in Data . Se Data è NULL, DataSize deve essere zero.
[in, optional] Data
NULL o punta a dati di dump binari memorizzati nel buffer utili per comprendere l'evento. Questi dati possono essere esaminati con il Visualizzatore eventi Win32.
Valore restituito
NdisWriteEventLogEntry può restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
L'evento è stato registrato correttamente. |
|
Le stringhe Unicode e i dati di dump binari forniti facoltativamente superano le dimensioni massime consentite (MAX_EVENT_LOG_DATA_SIZE). |
|
NDIS non è riuscito ad allocare memoria per il record del log degli errori di I/O. |
Osservazioni
NdisWriteEventLogEntry alloca un record del log degli errori di I/O, compila il record con le informazioni fornite sull'evento e quindi scrive il record nel file di log degli errori di I/O. Un utente può visualizzare l'evento registrato, inclusa una descrizione facoltativa dell'evento e/o dei dati di dump binari facoltativi, con il visualizzatore eventi Win32.
Il thread di registrazione degli errori NT usa tutte le stringhe fornite nel StringsList facoltativo per compilare i messaggi scritti nel registro eventi Win32. Ogni stringa deve essere una stringa Unicode con terminazione NUL. Gestione I/O presuppone che la stringa iniziale sia il nome del driver che segnala l'errore o il nome del dispositivo che ha causato l'errore.
Le stringhe Unicode fornite dal chiamante devono essere lette dal Registro di sistema o devono essere indipendenti dalla lingua, ovvero le stringhe devono essere uguali in qualsiasi lingua, ad esempio la stringa potrebbe essere un nome di file.
I dati di dump forniti dal chiamante possono essere dati binari (ad esempio valori di registro) utili per comprendere l'evento. Il chiamante non deve riempire i dati binari. Se necessario, NdisWriteEventLogEntry riempie i dati di dump binari in modo che le dimensioni finali dei dati siano un multiplo integrale di sizeof(ULONG).
Il sistema limita le dimensioni totali dei dati facoltativi forniti a NdisWriteEventLogEntry. Le dimensioni combinate dell'elenco di stringhe e del dump binario (eventualmente riempito) devono essere minori o uguali a MAX_EVENT_LOG_DATA_SIZE.
NdisWriteEventLogEntry viene chiamato solo dai driver di protocollo. I driver Miniport devono chiamare NdisWriteErrorLogEntry per registrare eventi ed errori.