IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER IOCTL (mountmgr.h)
Questo IOCTL verifica se il volume specificato ha una lettera di unità. Se ha già una lettera di unità o se il volume ha una voce di database di gestione montaggio speciale che indica che non richiede una lettera di unità, questa routine restituisce la lettera di unità corrente (se presente) e non fa nulla. Se il volume specificato non ha una lettera di unità e non dispone di una voce di database di gestione montaggio speciale che indica che non richiede una lettera di unità, la lettera di unità disponibile successiva viene assegnata al volume. Se il nome del dispositivo nonpersistente del volume inizia con "\Device\Floppy", il gestore di montaggio verificherà la presenza di lettere di unità disponibili a partire dalla lettera "A". Se il nome del volume inizia con "\Device\CdRom" il gestore di montaggio verificherà la presenza di lettere di unità disponibili a partire dalla lettera di unità "D". In tutti gli altri casi, il gestore di montaggio inizia con la lettera di unità "C".
Codice principale
Buffer di input
Il client di gestione montaggio inizializza la struttura di MOUNTMGR_DRIVE_LETTER_TARGET all'inizio del buffer in Irp-AssociatedIrp.SystemBuffer>. Il client deve inserire il nome del volume di destinazione nell'indirizzo a cui punta il membro DeviceName[] di questa struttura. Il nome del volume di destinazione è il nome dell'oggetto dispositivo nonpersistent associato al volume ,ad esempio "\Device\HarddiskVolume1").
Lunghezza del buffer di input
Parameters.DeviceIoControl.InputBufferLength nella posizione dello stack I/O dell'IRP indica le dimensioni, in byte, del buffer di input, che deve essere maggiore o uguale a sizeof(MOUNTMGR_DRIVE_LETTER_TARGET)
.
Buffer di output
Il gestore di montaggio inserisce la lettera di unità corrente o la lettera di unità appena assegnata (vedere la discussione precedente) nella struttura MOUNTMGR_DRIVE_LETTER_INFORMATION all'inizio del buffer in Irp-AssociatedIrp.SystemBuffer>.
Lunghezza del buffer di output
Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack I/O dell'IRP indica le dimensioni, in byte, del buffer di output, che deve essere maggiore o uguale a sizeof(MOUNTMGR_DRIVE_LETTER_INFORMATION)
.
Input/Buffer di output
N/D
Lunghezza del buffer di input/output
N/D
Blocco dello stato
Se l'operazione ha esito positivo, il campo Stato è impostato su STATUS_SUCCESS.
Se InputBufferLength è minore o se OutputBufferLength è minore sizeof(MOUNTMGR_DRIVE_LETTER_TARGET)
di sizeof(MOUNTMGR_DRIVE_LETTER_INFORMATION)
, il campo Stato è impostato su STATUS_INVALID_PARAMETER.
Commenti
Per altre informazioni, vedere Supporto delle richieste di Mount Manager in un driver di classe di archiviazione.
Requisiti
Requisito | Valore |
---|---|
Intestazione | mountmgr.h (includere Mountmgr.h) |