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 la cui membro PartitionType specifica il tipo per la partizione. Per i valori PartitionType attualmente definitiPARTITION_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.

Osservazioni

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 del 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 generata dall'utilità di formato, che esegue funzioni di controllo 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 è limitata all'impostazione dello stile di partizione e allo stile della 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 nel caso delle partizioni MBR; un ID 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 del driver. Pertanto, tutti i thread utente e file system devono essere preparati a entrare in uno stato di attesa quando si emette la 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 Signaled senza accodare ed eseguire la routine APC del kernel speciale del sistema I/O per il completamento di I/O.

Fabbisogno

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)

Vedere anche

IoReadPartitionTable

IoSetPartitionInformation

IoWritePartitionTable

SET_PARTITION_INFORMATION

SET_PARTITION_INFORMATION_EX