Funzione TraceLoggingSetInformation (traceloggingprovider.h)
Configura un provider TraceLogging chiamando EventSetInformation.
Sintassi
TLG_STATUS TraceLoggingSetInformation(
TraceLoggingHProvider hProvider,
EVENT_INFO_CLASS informationClass,
PVOID pvInformation,
ULONG cbInformation
);
Parametri
hProvider
Gestire il provider TraceLogging da configurare. Il provider deve trovarsi nello stato registrato .
informationClass
EVENT_INFO_CLASS dell'impostazione da configurare.
pvInformation
Buffer di input con il valore dell'impostazione da configurare. Il formato di questo buffer dipende dal valore del parametro informationClass .
cbInformation
Dimensione, in byte, dei dati nel buffer di input.
Valore restituito
Se si chiama questa funzione dal codice in modalità utente, la funzione restituisce un oggetto HRESULT
. Utilizzare la SUCCEEDED()
macro per determinare se la funzione ha esito positivo.
Se si chiama questa funzione dal codice in modalità kernel, la funzione restituisce un oggetto NTSTATUS
. Utilizzare la NT_SUCCESS()
macro per determinare se la funzione ha esito positivo.
Commenti
Questa funzione funge da wrapper per la funzione EventSetInformation .
La funzione EventSetInformation non è disponibile in tutte le versioni di Windows. Il comportamento predefinito di TraceLoggingSetInformation dipende dai valori in fase di compilazione delle WINVER
macro (modalità utente) o NTDDI_VERSION
(modalità kernel):
- Se la versione di destinazione di Windows (come specificato da
WINVER
oNTDDI_VERSION
) è nota per supportare EventSetInformation , TraceLoggingSetInformation richiamerà direttamente EventSetInformation. - In caso contrario, TraceLoggingSetInformation userà GetProcAddress (modalità utente) o MmGetSystemRoutineAddress (modalità kernel) per individuare e richiamare EventSetInformation. In caso di errore, TraceLoggingSetInformation restituirà
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(modalità utente) oSTATUS_NOT_SUPPORTED
(modalità kernel).
Per eseguire l'override del comportamento predefinito di questa funzione, definire la TLG_HAVE_EVENT_SET_INFORMATION
macro prima #include <TraceLoggingProvider.h>
di :
- Se poi
#define TLG_HAVE_EVENT_SET_INFORMATION 0
TraceLoggingSetInformation non eseguirà alcuna operazione e restituiràHRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(modalità utente) oSTATUS_ENTRYPOINT_NOT_FOUND
(modalità kernel). - Se quindi TraceLoggingSetInformation
#define TLG_HAVE_EVENT_SET_INFORMATION 1
richiamerà direttamente EventSetInformation. - Se quindi
#define TLG_HAVE_EVENT_SET_INFORMATION 2
TraceLoggingSetInformation richiamerà EventSetInformation tramite GetProcAddress (modalità utente) o MmGetSystemRoutineAddress (modalità kernel).
Per altre informazioni, vedere i commenti nell'intestazione TraceLoggingProvider.h
relativa alla TLG_HAVE_EVENT_SET_INFORMATION
macro.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Intestazione | traceloggingprovider.h |
Libreria | Advapi32.lib |