Condividi tramite


Metodo IVdsDiskPartitionMF::FormatPartitionEx (vds.h)

[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.

Formatta una partizione OEM, ESP o sconosciuta esistente.

Sintassi

HRESULT FormatPartitionEx(
  [in]  ULONGLONG ullOffset,
  [in]  LPWSTR    pwszFileSystemTypeName,
  [in]  USHORT    usFileSystemRevision,
  [in]  ULONG     ulDesiredUnitAllocationSize,
  [in]  LPWSTR    pwszLabel,
  [in]  BOOL      bForce,
  [in]  BOOL      bQuickFormat,
  [in]  BOOL      bEnableCompression,
  [out] IVdsAsync **ppAsync
);

Parametri

[in] ullOffset

Offset di byte della partizione dall'inizio del disco. Questo offset deve essere l'offset dell'inizio di una partizione.

[in] pwszFileSystemTypeName

Stringa Unicode con terminazione NULL contenente il nome del file system con cui formattare la partizione. Deve essere NULL o uno dei seguenti: "NTFS", "FAT","FAT32", "UDF" o "EXFAT". Se questo parametro è NULL, viene usato un valore predefinito.

[in] usFileSystemRevision

Revisione del file system, se presente. Questo membro viene espresso come numero decimale a 16 bit, dove un punto decimale è implicito tra la seconda e la terza cifra. Ad esempio, un valore di 0x0250 indica la revisione 2.50.

[in] ulDesiredUnitAllocationSize

Dimensioni dell'unità di allocazione per il file system, in byte. Il valore deve essere una potenza di 2. Se il valore è 0, verrà usata un'unità di allocazione predefinita determinata dal tipo di file system. L'intervallo di unità di allocazione dipende dal file system.

[in] pwszLabel

Stringa Unicode con terminazione null da assegnare al nuovo file system per il volume. La dimensione massima dell'etichetta dipende dal file system.

[in] bForce

Boolean che determina se un formato del file system è forzato, indipendentemente dal fatto che la partizione sia in uso.

[in] bQuickFormat

Boolean che determina se un volume del file system è formattato rapidamente. Un formato rapido non verifica ogni settore nel volume.

[in] bEnableCompression

Boolean che determina se verrà creato un file system con compressione abilitata.

Nota Questo parametro viene ignorato se il file system non è NTFS.
 

[out] ppAsync

Puntatore a un'interfaccia IVdsAsync che al termine del completamento riceve l'interfaccia IVdsAsync per monitorare e controllare questa operazione. I chiamanti devono rilasciare l'interfaccia ricevuta al termine dell'operazione.

Valore restituito

Questo metodo può restituire valori HRESULT standard, ad esempio E_INVALIDARG o E_OUTOFMEMORY e valori restituiti specifici di VDS. Può anche restituire codici di errore di sistema convertiti usando la macro HRESULT_FROM_WIN32 . Gli errori possono derivare da VDS stesso o dal provider VDS sottostante usato. I valori restituiti possibili includono quanto segue.

Codice/valore restituito Descrizione
S_OK
Il volume è stato partizionato correttamente.
VDS_E_BAD_PROVIDER_DATA
0x80042441L
Un provider ha restituito dati non valido.
VDS_E_DISK_REMOVEABLE
0x8004255AL
L'operazione non è supportata su supporti rimovibili.
VDS_E_FS_NOT_DETERMINED
0x80042593L
Impossibile determinare il file system predefinito.
VDS_E_MISSING_DISK
0x80042454L
Il disco non è presente.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
La partizione non esiste.
VDS_E_PARTITION_NOT_OEM
0x8004256FL
L'operazione non è supportata nelle partizioni non OEM.
 

Inoltre, l'interfaccia IVdsAsync può restituire i codici di errore e gli avvisi correlati seguenti.

Codice/valore restituito Descrizione
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
Il file system viene formattato ma non compresso.
VDS_E_ACCESS_DENIED
0x80042427L
Accesso negato.
VDS_E_BAD_LABEL
0x80042429L
L'etichetta non è valida.
VDS_E_CANT_QUICK_FORMAT
0x8004242AL
Impossibile formattare rapidamente il volume.
VDS_E_CLUSTER_COUNT_BEYOND_32BITS
0x80042430L
Il numero di cluster è troppo grande da rappresentare come intero a 32 bit.
VDS_E_CLUSTER_SIZE_TOO_BIG
0x8004242FL
Le dimensioni del cluster sono troppo grandi per consentire la formattazione.
VDS_E_CLUSTER_SIZE_TOO_SMALL
0x8004242EL
Le dimensioni del cluster sono troppo piccole per consentire la formattazione.
VDS_E_INCOMPATIBLE_FILE_SYSTEM
0x80042425L
Il file system non è compatibile.
VDS_E_INCOMPATIBLE_MEDIA
0x80042426L
Il supporto non è compatibile.
VDS_E_IO_ERROR
0x8004242BL
Si è verificato un errore di I/O durante il formato.
VDS_E_MEDIA_WRITE_PROTECTED
0x80042428L
Il supporto è protetto da scrittura.
VDS_E_VOLUME_TOO_BIG
0x8004242DL
Le dimensioni del volume sono troppo grandi da formattare.
VDS_E_VOLUME_TOO_SMALL
0x8004242CL
Le dimensioni del volume sono troppo piccole da formattare.

Commenti

Questo metodo formatta solo partizioni OEM, ESP e sconosciute. Per altre partizioni, è invece necessario formattare il volume corrispondente usando il metodo IVdsVolumeMF::Format o IVdsVolumeMF2::FormatEx . Si noti che le partizioni OEM, ESP e sconosciute non vengono esposte come volumi e pertanto non possono essere formattate con Format o FormatEx.

Questo metodo non può essere usato per formattare supporti rimovibili.

Se una partizione OEM viene formattata come FAT o FAT32, il tipo di partizione non cambia. Se è formattato con NTFS, il tipo di partizione viene modificato in PARTITION_IFS (0x07). Per informazioni sui tipi di partizione, vedere CREATE_PARTITION_PARAMETERS.

Per altre informazioni sui limiti del file system, ad esempio dimensioni minime e massime dell'unità di allocazione (denominate anche dimensioni del cluster), vedere Informazioni di riferimento tecnico NTFS e FAT Technical Reference.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vds.h
Libreria Uuid.lib

Vedi anche

IVdsAdvancedDisk::FormatPartition

IVdsDiskPartitionMF