Condividi tramite


Funzione IoSetPartitionInformationEx (ntddk.h)

Per il disco rappresentato da DeviceObject, la routine IoSetPartitionInformationEx inizializza una voce della tabella di partizione con le informazioni specificate nella struttura SET_PARTITION_INFORMATION_EX .

Sintassi

NTSTATUS IoSetPartitionInformationEx(
  [in] PDEVICE_OBJECT                DeviceObject,
  [in] ULONG                         PartitionNumber,
  [in] _SET_PARTITION_INFORMATION_EX *PartitionInfo
);

Parametri

[in] DeviceObject

Puntatore all'oggetto dispositivo che rappresenta il dispositivo in cui deve essere impostato il tipo di partizione.

[in] PartitionNumber

Specifica il numero di partizione nel dispositivo il cui tipo di partizione deve essere impostato.

[in] PartitionInfo

Struttura il cui membro PartitionType specifica il tipo per la partizione. Per i valori PartitionType attualmente definiti PARTITION_INFORMATION.

Valore restituito

Se IoSetPartitionInformationEx restituisce STATUS_SUCCESS, il driver del disco aggiorna la nozione del tipo di partizione per questa partizione nell'estensione del dispositivo.

Commenti

IoSetPartitionInformationEx deve essere usato solo dai driver del disco. Altri driver devono usare invece la richiesta di I/O del disco IOCTL_DISK_SET_PARTITION_INFO_EX .

Questa routine viene chiamata quando viene richiesto a un driver di dispositivo disco di impostare le informazioni di partizione in una voce della tabella di partizione da una richiesta di IRP_MJ_DEVICE_CONTROL. Questa richiesta viene in genere rilasciata dall'utilità di formato, che esegue funzioni di controllo di I/O nella partizione. Il driver passa un puntatore all'oggetto dispositivo che rappresenta il disco fisico e il numero della partizione associata all'oggetto dispositivo aperto dall'utilità di formato. Poiché le routine HAL sottostanti IoSetPartitionInformationEx sono state sviluppate prima dell'implementazione del supporto per il partizionamento dinamico, non distinguono tra partitionordinal (ovvero l'ordine di una partizione su un disco) e il numero di partizione (il numero di partizione assegnato a una partizione per identificarlo nel sistema). I driver devono chiamare IoSetPartitionInformationEx usando il numero ordinale della partizione e non il numero di partizione effettivo.

Se la partizione è di tipo MBR (Master Boot Record), IoSetPartitionInformationEx è limitato all'impostazione dello stile della partizione e allo stile di partizione, rappresentato come carattere non firmato. Per altre informazioni su questi valori, vedere SET_PARTITION_INFORMATION_MBR.

Se la partizione è una partizione GPT (GUID Partition Table), IoSetPartitionInformationEx imposta i valori seguenti: lo stile della partizione, il tipo di partizione, rappresentato da un GUID anziché da un numero intero, come avviene con le partizioni MBR; un ID di partizione, rappresentato anche da un GUID; un set di attributi (vedere Extensible Firmware Interface per una descrizione di questi attributi); e un nome Unicode per la partizione. Per altre informazioni su questi valori, vedere SET_PARTITION_INFORMATION_GPT.

Questa routine è sincrona e deve essere chiamata dalla routine Dispatch del driver del disco o da un thread driver. Pertanto, tutti i thread utente e file system devono essere preparati per entrare in uno stato di attesa durante l'emissione della richiesta di controllo del dispositivo per impostare il tipo di partizione per il dispositivo.

Questa routine si basa sul presupposto che il numero di partizione passato dal driver del disco esista effettivamente.

Questa routine deve essere chiamata in IRQL = PASSIVE_LEVEL perché usa un oggetto evento kernel per sincronizzare il completamento di I/O nel dispositivo. L'evento non può essere impostato sullo stato Segnalato senza accodare ed eseguire la routine APC del kernel speciale del sistema I/O per il completamento di I/O.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (vedere la sezione Osservazioni)
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

IoReadPartitionTable

IoSetPartitionInformation

IoWritePartitionTable

SET_PARTITION_INFORMATION

SET_PARTITION_INFORMATION_EX