Utilizzo di eventi (registro eventi di Windows)

È possibile utilizzare gli eventi dai canali o dai file di log. Per utilizzare gli eventi, è possibile utilizzare tutti gli eventi oppure specificare un'espressione XPath che identifica gli eventi che si desidera utilizzare. Per determinare gli elementi e gli attributi di un evento che è possibile usare nell'espressione XPath, vedere Schema eventi.

Registro eventi di Windows supporta un subset di XPath 1.0. Per informazioni dettagliate sulle limitazioni, vedere Limitazioni di XPath 1.0.

Negli esempi seguenti vengono illustrate espressioni XPath semplici.

// The following query selects all events from the channel or log file
XPath Query: *

// The following query selects all the LowOnMemory events from the channel or log file
XPath Query: *[UserData/LowOnMemory]

// The following query selects all events with a severity level of 1 (Critical) from the channel or log file
XPath Query: *[System/Level=1]

// The following query shows a compound expression that selects all events from the channel or log file
// where the printer's name is MyPrinter and severity level is 1.
XPath Query: *[UserData/*/PrinterName="MyPrinter" and System/Level=1]

// The following query selects all events from the channel or log file where the severity level is
// less than or equal to 3 and the event occurred in the last 24 hour period.
XPath Query: *[System[(Level <= 3) and TimeCreated[timediff(@SystemTime) <= 86400000]]]

È possibile utilizzare direttamente le espressioni XPath quando si chiamano le funzioni EvtQuery o EvtSubscribe oppure è possibile usare una query XML strutturata contenente l'espressione XPath. Per le query semplici che eseguono query sugli eventi da una singola origine, l'uso di un'espressione XPath è corretto. Se l'espressione XPath è un'espressione composta contenente più di 20 espressioni o si esegue una query per gli eventi da più origini, è necessario usare una query XML strutturata. Per informazioni dettagliate sugli elementi di una query XML strutturata, vedere Schema di query.

Una query strutturata identifica l'origine degli eventi e uno o più selettori o soppressori. Un selettore contiene espressioni XPath che selezionano gli eventi dall'origine e un soppressore contiene un'espressione XPath che impedisce l'selezione degli eventi. È possibile selezionare gli eventi da più di un'origine. Se un selettore e un soppressore identificano lo stesso evento, l'evento non viene incluso nel risultato.

Di seguito viene illustrata una query XML strutturata che specifica un set di selettori e soppressori.

<QueryList>
  <Query Id="0">
    <Select Path="Application">
        *[System[(Level <= 3) and 
        TimeCreated[timediff(@SystemTime) <= 86400000]]]
    </Select>
    <Suppress Path="Application">
        *[System[(Level = 2)]]
    </Suppress>
    <Select Path="System">
        *[System[(Level=1  or Level=2 or Level=3) and 
        TimeCreated[timediff(@SystemTime) <= 86400000]]]
    </Select>
  </Query>
</QueryList>

Il set di risultati della query non contiene uno snapshot degli eventi al momento della query. Il set di risultati include invece gli eventi al momento della query e conterrà anche tutti i nuovi eventi generati che corrispondono ai criteri di query durante l'enumerazione dei risultati.

Nota

L'ordine degli eventi viene mantenuto per gli eventi scritti dallo stesso thread. Tuttavia, è possibile che gli eventi scritti da thread separati in processori diversi di un computer a più processori vengano visualizzati in ordine non corretto.

 

Per informazioni dettagliate sull'utilizzo degli eventi, vedere gli argomenti seguenti:

Gli strumenti degli utenti finali standard per l'utilizzo degli eventi sono:

Limitazioni di XPath 1.0

Registro eventi di Windows supporta un subset di XPath 1.0. La restrizione principale è che solo gli elementi XML che rappresentano gli eventi possono essere selezionati da un selettore di eventi. Una query XPath che non seleziona un evento non è valida. Tutti i percorsi del selettore validi iniziano con * o "Event". Tutti i percorsi operano sui nodi eventi e sono costituiti da una serie di passaggi. Ogni passaggio è una struttura di tre parti: asse, test del nodo e predicato. Per altre informazioni su queste parti e su XPath 1.0, vedere XML Path Language (XPath).For more information about these part and about XPath 1.0, see XML Path Language (XPath). Registro eventi di Windows pone le restrizioni seguenti sull'espressione:

  • Asse: sono supportati solo l'asse Child (predefinito) e Attribute (e il relativo asse abbreviato "@").
  • Test dei nodi: sono supportati solo i nomi dei nodi e i test NCName. Il carattere "*", che seleziona qualsiasi carattere, è supportato.
  • Predicati: qualsiasi espressione XPath valida è accettabile se i percorsi di posizione sono conformi alle restrizioni seguenti:
    • Sono supportati gli operatori standard OR, AND, =, !=, <=, <>= , >e le parentesi.
    • La generazione di un valore stringa per un nome di nodo non è supportata.
    • La valutazione in ordine inverso non è supportata.
    • I set di nodi non sono supportati.
    • L'ambito dello spazio dei nomi non è supportato.
    • Lo spazio dei nomi, l'elaborazione e i nodi di commento non sono supportati.
    • Le dimensioni del contesto non sono supportate.
    • Le associazioni di variabili non sono supportate.
    • La funzione position e il relativo riferimento alla matrice abbreviata sono supportati (solo nei nodi foglia).
    • La funzione Band è supportata. La funzione esegue un'operazione AND bit per bit per due argomenti di numero intero. Se il risultato dell'and bit per bit è diverso da zero, la funzione restituisce true; in caso contrario, la funzione restituisce false.
    • La funzione timediff è supportata. La funzione calcola la differenza tra il secondo argomento e il primo argomento. Uno degli argomenti deve essere un numero letterale. Gli argomenti devono utilizzare la rappresentazione FILETIME. Il risultato è il numero di millisecondi tra le due volte. Il risultato è positivo se il secondo argomento rappresenta un'ora successiva; in caso contrario, è negativo. Quando il secondo argomento non viene specificato, viene utilizzata l'ora di sistema corrente.