IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL (mountdev.h)
IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME consente ai client di gestione montaggio, ad esempio driver di dispositivo o volume, di suggerire una lettera di unità o un nome di collegamento per i volumi associati.
Il supporto per questo IOCTL dai client di gestione montaggio è facoltativo.
Codice principale
Buffer di input
Nessuno.
Lunghezza del buffer di input
Nessuno.
Buffer di output
Il driver client deve posizionare una struttura a lunghezza variabile di tipo MOUNTDEV_SUGGESTED_LINK_NAME all'inizio del buffer all'inizio del buffer in Irp->AssociatedIrp.SystemBuffer. Il driver client deve inserire il nome permanente suggerito all'indirizzo a cui punta il Nome membro della struttura.
Lunghezza del buffer di output
Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack I/O di IRP indica le dimensioni, in byte, del buffer di output, che deve essere maggiore o uguale a sizeof(MOUNTDEV_SUGGESTED_LINK_NAME)
.
Buffer di input/output
N/D
Lunghezza del buffer di input/output
N/D
Blocco di stato
Se l'operazione ha esito positivo, il campo informazioni viene impostato sul numero totale di byte restituiti e il campo stato è impostato su STATUS_SUCCESS.
Se OutputBufferLength è minore di sizeof(MOUNTDEV_SUGGESTED_LINK_NAME), il campo Status è impostato su STATUS_INVALID_PARAMETER.
Se OutputBufferLength è minore della lunghezza totale dei dati di output, il campo stato è impostato su STATUS_BUFFER_OVERFLOW e il campo informazioni è impostato su sizeof(MOUNTDEV_SUGGESTED_LINK_NAME).
Osservazioni
Alcuni client di gestione montaggio sono in grado di tenere traccia delle lettere di unità tra i riavvii del sistema senza l'aiuto del gestore di montaggio. Tali client possono inviare un nome di lettera di unità suggerita al gestore di montaggio in risposta a questo IOCTL. Gestione montaggio usa il nome suggerito se il database del gestore di montaggio non contiene già un nome di lettera di unità persistente per il volume del client. In caso contrario, ignora il suggerimento e usa il nome della lettera di unità nel database del nome permanente.
I nomi delle lettere di unità devono includere il percorso completo del collegamento simbolico nello spazio dei nomi dell'oggetto e devono avere la sintassi MS-DOS tradizionale. Ad esempio, la lettera di unità "D" deve essere rappresentata in questo modo: "\DosDevices\D:". Il percorso simbolico alternativo del collegamento di "?? \D:" non può essere usato, né abbreviazioni del collegamento simbolico, ad esempio "D:".
L'implementatore di questa funzione non deve eseguire la sincronizzazione dei thread e non deve eseguire chiamate di funzione IPC (Interprocess Communication).
Per altre informazioni, vedere Supporto delle richieste di Gestione montaggio in un driver di classe di archiviazione.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | mountdev.h (include Mountdev.h) |