Condividi tramite


Funzione CreateLogContainerScanContext (clfsw32.h)

Crea un contesto di analisi da usare con ScanLogContainers per enumerare tutti i contenitori di log associati a un log ed esegue la prima analisi.

Sintassi

CLFSUSER_API BOOL CreateLogContainerScanContext(
  [in]                HANDLE             hLog,
  [in]                ULONG              cFromContainer,
  [in]                ULONG              cContainers,
  [in]                CLFS_SCAN_MODE     eScanMode,
  [in, out]           PCLFS_SCAN_CONTEXT pcxScan,
  [in, out, optional] LPOVERLAPPED       pOverlapped
);

Parametri

[in] hLog

Handle per il log ottenuto da CreateLogFile con le autorizzazioni per analizzare i contenitori di log.

Il file può essere un log dedicato o multiplexed.

[in] cFromContainer

Contenitore in cui deve essere avviata l'analisi.

Questo parametro è un numero ordinale relativo al numero di contenitori nel log.

[in] cContainers

Numero di strutture CLFS_CONTAINER_INFORMATION per CreateLogContainerScanContext da allocare.

Questo numero è il numero di contenitori analizzati con ogni chiamata di analisi in modo che il chiamante sappia che l'analisi è completa quando il numero di contenitori restituiti è minore di questo valore.

All'uscita, un puntatore alla matrice allocata dal sistema di strutture CLFS_CONTAINER_INFORMATION viene posizionato nel membro pinfoContainer della struttura CLFS_SCAN_CONTEXT allocata dal client. Questo membro fa riferimento al parametro pcxScan (ovvero "pcxScan-pinfoContainer>[]") e il numero effettivo di strutture nella matrice viene inserito in "pcxScan-cContainersReturned>".

Il client deve chiamare ScanLogContainers con il parametro eScanMode impostato su CLFS_SCAN_CLOSE in modo che possa liberare questa matrice; in caso contrario, si verifica una perdita di memoria.

[in] eScanMode

Modalità di analisi dei contenitori.

I contenitori possono essere analizzati in una delle modalità seguenti.

Valore Significato
CLFS_SCAN_INIT
Inizializza o reinizializza un'analisi dal primo contenitore nell'elenco di contenitori.

Questa modalità inizializza il contesto del contenitore e restituisce il primo set di descrittori di contenitori specificati da cContainers .

CLFS_SCAN_FORWARD
Restituisce il primo set di contenitori specificato da cContainers .
CLFS_SCAN_BACKWARD
Restituisce l'ultimo set di contenitori specificato da cContainers .

[in, out] pcxScan

Puntatore a una struttura CLFS_SCAN_CONTEXT allocata dal client che riceve un contesto di analisi che può essere passato alla funzione ScanLogContainers quando un client analizza i contenitori di log di un log dedicato.

[in, out, optional] pOverlapped

Puntatore a una struttura OVERLAPPED necessaria per l'operazione asincrona.

Questo parametro può essere NULL se non viene utilizzata un'operazione asincrona.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

L'elenco seguente identifica i possibili codici di errore:

Commenti

Dopo aver completato un'analisi, il client deve chiamare nuovamente ScanLogContainers con il parametro eScanMode impostato su CLFS_SCAN_CLOSE in modo che possa liberare la matrice allocata dal sistema di strutture CLFS_CONTAINER_INFORMATION ; in caso contrario, si verifica una perdita di memoria.

Esempio

Per un esempio che usa questa funzione, vedere Enumerazione dei contenitori di log.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione clfsw32.h
Libreria Clfsw32.lib
DLL Clfsw32.dll

Vedi anche

CLFS_CONTAINER_INFORMATION

CLFS_SCAN_CONTEXT

CLFS_SCAN_MODE

Funzioni comuni del file system di log

ScanLogContainers