Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore EventWatcherOptions (ManagementNamedValueCollection, TimeSpan, Int32)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza di EventWatcherOptions classe con i valori specificati.

Spazio dei nomi:   System.Management
Assembly:  System.Management (in System.Management.dll)

public EventWatcherOptions(
	ManagementNamedValueCollection context,
	TimeSpan timeout,
	int blockSize
)

Parametri

context
Type: System.Management.ManagementNamedValueCollection

L'oggetto di contesto opzioni contenente informazioni specifiche del provider deve essere passato tramite il provider.

timeout
Type: System.TimeSpan

Il timeout di attesa per gli eventi successivi.

blockSize
Type: System.Int32

Il numero di eventi di attesa per ogni blocco.

Attendibilità totale per il chiamante immediato. Impossibile usare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Using Libraries from Partially Trusted Code.

Nell'esempio seguente viene illustrato il client riceve una notifica quando un'istanza di Win32_Process viene creato perché è la classe di evento InstanceCreationEvent. Per ulteriori informazioni, vedere la documentazione di Strumentazione gestione Windows in MSDN Library all'indirizzo http://msdn.microsoft.com/library. Il client riceve gli eventi in modo sincrono chiamando il metodo WaitForNextEvent. Questo esempio può essere testato avviando un processo, ad esempio Blocco note, mentre il codice di esempio è in esecuzione.

using System;
using System.Management;

// This example shows synchronous consumption of events. 
// The client is blocked while waiting for events. 

public class EventWatcherPolling 
{
    public static int Main(string[] args) 
    {
        // Create event query to be notified within 1 second of 
        // a change in a service
        string query = "SELECT * FROM" +
            " __InstanceCreationEvent WITHIN 1 " + 
            "WHERE TargetInstance isa \"Win32_Process\"";

        // Event options
        // blockSize = 1 to receive one event
        EventWatcherOptions eventOptions = new
            EventWatcherOptions(null, System.TimeSpan.MaxValue,
            1);

        // Initialize an event watcher and subscribe to events 
        // that match this query
        ManagementEventWatcher watcher =
            new ManagementEventWatcher("root\\CIMV2", query,
            eventOptions);

        // Block until the next event occurs 
        // Note: this can be done in a loop if waiting for 
        //        more than one occurrence
        Console.WriteLine(
            "Open an application (notepad.exe) to trigger an event.");
        ManagementBaseObject e = watcher.WaitForNextEvent();

        //Display information from the event
        Console.WriteLine(
            "Process {0} has been created, path is: {1}", 
            ((ManagementBaseObject)e
            ["TargetInstance"])["Name"],
            ((ManagementBaseObject)e
            ["TargetInstance"])["ExecutablePath"]);

        //Cancel the subscription
        watcher.Stop();
        return 0;
    }
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: