Condividi tramite


Funzione PdhOpenLogA (pdh.h)

Apre il file di log specificato per la lettura o la scrittura.

Sintassi

PDH_FUNCTION PdhOpenLogA(
  [in]  LPCSTR     szLogFileName,
  [in]  DWORD      dwAccessFlags,
  [in]  LPDWORD    lpdwLogType,
  [in]  PDH_HQUERY hQuery,
  [in]  DWORD      dwMaxSize,
  [in]  LPCSTR     szUserCaption,
  [out] PDH_HLOG   *phLog
);

Parametri

[in] szLogFileName

Nullstringa con terminazione che specifica il nome del file di log da aprire. Il nome può contenere un percorso assoluto o relativo.

Se il parametro lpdwLogType è PDH_LOG_TYPE_SQL, specificare il nome del file di log nel modulo, SQL:DataSourceName!LogFileName.

[in] dwAccessFlags

Tipo di accesso da usare per aprire il file di log. Specificare uno dei valori seguenti.

Valore Significato
PDH_LOG_READ_ACCESS
Aprire il file di log per la lettura.
PDH_LOG_WRITE_ACCESS
Aprire un nuovo file di log per la scrittura.
PDH_LOG_UPDATE_ACCESS
Aprire un file di log esistente per la scrittura.
 

È possibile usare l'operatore OR inclusivo bit per bit (|) per combinare il tipo di accesso con uno o più dei flag di creazione seguenti.

Valore Significato
PDH_LOG_CREATE_NEW
Crea un nuovo file di log con il nome specificato.
PDH_LOG_CREATE_ALWAYS
Crea un nuovo file di log con il nome specificato. Se il file di log esiste già, la funzione rimuove il file di log esistente prima di creare il nuovo file.
PDH_LOG_OPEN_EXISTING
Apre un file di log esistente con il nome specificato. Se non esiste un file di log con il nome specificato, è uguale a PDH_LOG_CREATE_NEW.
PDH_LOG_OPEN_ALWAYS
Apre un file di log esistente con il nome specificato o crea un nuovo file di log con il nome specificato.
PDH_LOG_OPT_CIRCULAR
Crea un file di log circolare con il nome specificato. Quando il file raggiunge il valore del parametro dwMaxSize , i dati eserne il wrapping all'inizio del file di log. È possibile specificare questo flag solo se il parametro lpdwLogType è PDH_LOG_TYPE_BINARY.
PDH_LOG_USER_STRING
Usato con PDH_LOG_TYPE_TSV per scrivere la descrizione del file di log o la didascalia utente indicata dal parametro szUserString di PdhUpdateLog o PdhOpenLog. La didascalia utente o la descrizione del file di log viene scritta come ultima colonna nella prima riga del log di testo.

[in] lpdwLogType

Tipo di file di log da aprire. Questo parametro può essere uno dei valori seguenti.

Valore Significato
PDH_LOG_TYPE_UNDEFINED
Formato di file di log non definito. Se specificato, PDH determina il tipo di file di log. Non è possibile specificare questo valore se il parametro dwAccessFlags è PDH_LOG_WRITE_ACCESS.
PDH_LOG_TYPE_CSV
File di testo contenente intestazioni di colonna nella prima riga e singoli record di dati in ogni riga successiva. I campi di ogni record di dati sono delimitati da virgole.

La prima riga contiene anche informazioni sul formato del file, la versione PDH usata per creare il file di log e i nomi e i percorsi di ognuno dei contatori.

PDH_LOG_TYPE_SQL
L'origine dati del file di log è un database SQL.
PDH_LOG_TYPE_TSV
File di testo contenente intestazioni di colonna nella prima riga e singoli record di dati in ogni riga successiva. I campi di ogni record di dati sono delimitati da tabulazioni.

La prima riga contiene anche informazioni sul formato del file, la versione PDH usata per creare il file di log e i nomi e i percorsi di ognuno dei contatori.

PDH_LOG_TYPE_BINARY
Formato di file di log binario.

[in] hQuery

Specificare un handle di query se si scrivono dati di query in un file di log. La funzione pdhOpenQuery restituisce questo handle.

Questo parametro viene ignorato e deve essere NULL se si legge dal file di log.

[in] dwMaxSize

Dimensioni massime del file di log, in byte. Specificare le dimensioni massime se si desidera limitare le dimensioni del file o se dwAccessFlags specifica PDH_LOG_OPT_CIRCULAR; in caso contrario, impostare su 0.

Per i file di log circolari, è necessario specificare un valore sufficientemente grande da contenere almeno un campione. Le dimensioni del campione dipendono dai dati raccolti. Tuttavia, specificando un valore di almeno un megabyte verranno trattati la maggior parte dei campioni.

[in] szUserCaption

Nullstringa con terminazione che specifica la didascalia definita dall'utente del file di log. Una didascalia del file di log descrive in genere il contenuto del file di log. Quando viene aperto un file di log esistente, il valore di questo parametro viene ignorato.

[out] phLog

Handle per il file di log aperto.

Valore restituito

Se la funzione ha esito positivo, restituisce ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema o un codice di errore PDH .

Osservazioni

Per usare questa funzione per scrivere dati sulle prestazioni in un file di log, è necessario aprire una query usando PdhOpenQuery e aggiungere i contatori desiderati, prima di chiamare questa funzione.

I sistemi operativi più recenti possono leggere i file di log generati nei sistemi operativi meno recenti; Tuttavia, i file di log creati in Windows Vista e nei sistemi operativi successivi non possono essere letti nei sistemi operativi precedenti.

Le regole seguenti si applicano ai file di log

  • READ_ACCESS richiede OPEN_EXISTING.

  • UPDATE_ACCESS non può essere usato con i log basati su file. Può essere usato solo con i log del database.

  • WRITE_ACCESS richiede uno dei CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS.

Esempi

Per un esempio, vedere Scrittura di dati sulle prestazioni in un file di log.

Nota

L'intestazione pdh.h definisce PdhOpenLog come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione pdh.h
libreria Pdh.lib
dll Pdh.dll

Vedere anche

PdhGetLogFileSize

PdhOpenQuery

PdhUpdateLog

PdhUpdateLogFileCatalog