Funzioni di avviso
[Le funzioni di avviso non sono supportate a partire da Windows Vista perché i servizi di avviso e messenger non sono supportati.]
Le funzioni di avviso di gestione della rete notificano i programmi e le applicazioni del servizio di rete degli eventi di rete. Un evento è una particolare istanza di un processo, di un'occorrenza o di uno stato dell'hardware, come definito da un'applicazione. Le funzioni di avviso consentono alle applicazioni di indicare quando si verificano eventi predefiniti.
Windows Server 2003: I servizi di avviso e messenger sono disabilitati per impostazione predefinita in Windows Server 2003. È necessario riabilitare i servizi prima di chiamare le funzioni di avviso di gestione di rete o le funzioni messaggio di gestione di rete.
Di seguito sono elencate le funzioni di avviso.
Funzione | Descrizione |
---|---|
NetAlertRaise | Notifica a tutti i client registrati che si è verificato un determinato evento. |
NetAlertRaiseEx | Semplifica la notifica ai client registrati che si è verificato un determinato evento, perché, a differenza di NetAlertRaise, NetAlertRaiseEx non richiede una struttura di STD_ALERT . |
Il servizio alerter deve essere in esecuzione nel computer client quando si chiama la funzione NetAlertRaise o la funzione NetAlertRaiseEx . Se il servizio non è in esecuzione, le funzioni hanno esito negativo con ERROR_FILE_NOT_FOUND. Il servizio alerter nel client chiama la funzione NetMessageBufferSend per inviare informazioni ai destinatari.
Le applicazioni, i servizi di rete e i componenti di rete interni usano le funzioni di avviso di gestione della rete per generare un avviso, notificando a varie applicazioni o utenti quando si verifica un particolare tipo di evento. Le funzioni della categoria di avviso, i tipi di dati, le strutture e le costanti sono definite in LMCONS. H, LMERR. H e LMALERT. File di intestazione H. Per accedere a queste definizioni, definire le costanti INCL_NETERRORS e INCL_NETALERT e includere il file di intestazione LM.H.
The LMALERT. Il file H consente di predefinito le classi di avviso seguenti (tipi di eventi di rete) per l'invio di avvisi:
- Eventi di rete che richiedono assistenza amministrativa
- Aggiunta di una voce a un file di log degli errori
- Ricezione di un messaggio di trasmissione da parte di un utente o di un'applicazione
- Completamento di un processo di stampa
- Uso di determinate applicazioni o risorse da parte degli utenti
È possibile definire altre classi di avvisi per le applicazioni di rete in base alle esigenze. Ad esempio, se un'applicazione in un server scrive regolarmente grandi quantità di dati in un'unità disco, l'applicazione rischia di riempire il disco. In questo caso, è possibile aggiungere l'evento "nessun spazio libero su disco" per attivare un avviso che notifica all'applicazione di sospendere o terminare il processo che sta riempiendo il disco. Il nome dell'evento per un avviso può essere qualsiasi stringa di testo.
Quando si genera un avviso con una chiamata alla funzione NetAlertRaise , i dati del messaggio devono essere costituiti da una struttura di intestazione STD_ALERT seguita da dati a lunghezza fissa aggiuntivi specifici di un avviso in un ADMIN_OTHER_INFO, ERRLOG_OTHER_INFO, PRINT_OTHER_INFO o struttura USER_OTHER_INFO . Altri dati a lunghezza variabile possono seguire la struttura specifica dell'avviso. Le chiamate alla funzione NetAlertRaiseEx non richiedono una struttura STD_ALERT . L'applicazione chiamante deve allocare la memoria per tutte le strutture e i dati a lunghezza variabile e liberare la memoria dopo la restituzione della chiamata.
Le macro seguenti sono disponibili per l'uso con i buffer dei dati degli avvisi.
Macro | Descrizione |
---|---|
ALERT_OTHER_INFO | Restituisce un puntatore ai dati a lunghezza fissa che seguono la struttura STD_ALERT in un messaggio di avviso. |
ALERT_VAR_DATA | Restituisce un puntatore ai dati a lunghezza variabile che seguono i dati specifici dell'avviso in un messaggio di avviso. |
Invece di usare le funzioni di avviso di gestione di rete, è possibile usare Windows Management Instrumentation (WMI) SDK per la notifica degli eventi. Per altre informazioni sulle piattaforme che supportano il modello di eventi WMI, vedere WmI Infrastructure and Monitoring Events (Eventi di infrastruttura e monitoraggio WMI) nella documentazione di WMI.