Condividi tramite


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

IRP_MJ_DEVICE_CONTROL

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)

Vedi anche

MOUNTMGR_DRIVE_LETTER_TARGET