Condividi tramite


Funzione ClfsAddLogContainerSet (wdm.h)

La routine ClfsAddLogContainerSet aggiunge un set di contenitori a un log CLFS.

Sintassi

CLFSUSER_API NTSTATUS ClfsAddLogContainerSet(
  [in]           PLOG_FILE_OBJECT plfoLog,
  [in]           USHORT           cContainers,
  [in, optional] PULONGLONG       pcbContainer,
  [in]           PUNICODE_STRING  rguszContainerPath
);

Parametri

[in] plfoLog

Puntatore a una struttura LOG_FILE_OBJECT che rappresenta il log a cui verranno aggiunti i contenitori. Il chiamante ha ottenuto in precedenza questo puntatore chiamando ClfsCreateLogFile.

[in] cContainers

Numero di contenitori nel set. Si tratta del numero di elementi nella matrice rguszContainerPath .

[in, optional] pcbContainer

Puntatore a una variabile tipizzata ULONGLONG. Il ruolo di questo parametro dipende dal fatto che il log abbia almeno un contenitore.

  • Se il log attualmente non dispone di contenitori, il chiamante fornisce un intero positivo che corrisponde alla dimensione richiesta, in byte, di un singolo contenitore. CLFS crea contenitori che sono le dimensioni richieste arrotondate fino a un multiplo di 512 KB (per un log dedicato) o 1 MB (per un log multiplexed).
  • Se il log ha almeno un contenitore e questo parametro è il puntatore NULL , CLFS crea nuovi contenitori che corrispondono alle stesse dimensioni dei contenitori esistenti. Tutti i contenitori in un log devono essere le stesse dimensioni.
  • Se il log ha almeno un contenitore e questo parametro è un puntatore valido, il chiamante fornisce un intero positivo che corrisponde alla dimensione richiesta, in byte, di un singolo contenitore. Le dimensioni richieste vengono arrotondate a più di 512 KB (per un log dedicato) o 1 MB (per un log condiviso). Se le dimensioni arrotondate sono almeno pari alla dimensione del contenitore esistente, CLFS crea nuovi contenitori che corrispondono alle stesse dimensioni dei contenitori esistenti. Al termine della restituzione, questo parametro riceve le dimensioni del contenitore esistenti. Se le dimensioni arrotondate sono inferiori alle dimensioni del contenitore esistenti, ClfsAddLogContainerSet ha esito negativo.

[in] rguszContainerPath

Puntatore a una matrice di strutture UNICODE_STRING . Ogni stringa fornisce il nome del percorso per uno dei nuovi contenitori. Il numero di elementi nella matrice viene assegnato da cContainers. Un percorso specificato può essere assoluto o relativo al percorso del file di log di base. I percorsi relativi al file di log di base devono iniziare con CLFS_CONTAINER_RELATIVE_PREFIX, ovvero il valore letterale stringa (L"%BLF%\").

Valore restituito

ClfsAddLogContainer restituisce STATUS_SUCCESS se ha esito positivo; in caso contrario, restituisce uno dei codici di errore definiti in Ntstatus.h.

Commenti

Un contenitore è un extent contiguo nell'archiviazione stabile. Ad esempio, un contenitore potrebbe essere un file contiguo su disco. Un log è un set di contenitori insieme a un file di log di base. Per altre informazioni sui contenitori, vedere Archiviazione stabile CLFS.

Un contenitore specificato da un percorso relativo al file di log di base deve trovarsi nella stessa directory del file di log di base o di una sottodirectory del file di log di base. Le directory "." e ".." non sono consentite in un percorso relativo.

Un log può avere alcuni contenitori con percorsi assoluti e altri contenitori con percorsi relativi.

I contenitori vengono creati in modalità non compressa e vengono inizializzati con zero.

Un log deve avere almeno due contenitori prima che sia possibile eseguire qualsiasi I/O.

Per una spiegazione dei concetti e della terminologia CLFS, vedere Common Log File System.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Server 2003 R2, Windows Vista e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione wdm.h (include Wdm.h)
Libreria Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

Vedi anche

ClfsAddLogContainer

ClfsRemoveLogContainerSet