Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Beim Empfang dieses IOCTL muss ein Clienttreiber den (nichtpersistenten) Gerätenamen (oder Ziel) für das Volume angeben. Der Bereitstellungs-Manager verwendet den Gerätenamen vom Client als Ziel einer symbolischen Verknüpfung zurückgegeben. Ein Beispiel für einen Gerätenamen wäre "\Device\HarddiskVolume1".
Die Unterstützung für diese IOCTL durch die Mount-Manager-Clients ist obligatorisch.
Hauptcode
Eingabepuffer
Nichts.
Eingabepufferlänge
Nichts.
Ausgabepuffer
Der Bereitstellungs-Manager-Client gibt eine Struktur mit variabler Länge vom Typ MOUNTDEV_NAME am Anfang des Puffers bei Irp->AssociatedIrp.SystemBufferzurück. Der Gerätename muss an der Adresse eingefügt werden, auf die der Name Mitglied dieser Struktur verweist.
Länge des Ausgabepuffers
Parameters.DeviceIoControl.OutputBufferLength in der I/O-Stapelposition des IRP gibt die Größe des Ausgabepuffers in Bytes an, die größer oder gleich sizeof(MOUNTDEV_NAME)sein muss.
Statusblock
Das feld Information wird auf FIELD_OFFSET(MOUNTDEV_NAME, Name) + output->NameLength oder alternativ, output->NameLength + sizeof(USHORT) festgelegt, wobei ausgabe auf den Puffer bei Irp->AssociatedIrp.SystemBufferverweist.
Wenn der Vorgang erfolgreich ist, muss der Bereitstellungs-Manager-Client das Feld Information auf die Länge der MIT NULL beendeten Zeichenfolge festlegen, die den Gerätenamen und das feld Status auf STATUS_SUCCESS enthält.
Wenn der Ausgabepuffer zu klein ist, um den Gerätenamen zu speichern, muss der Bereitstellungs-Manager-Client das Feld Information auf sizeof(MOUNTDEV_NAME) und das feld Status auf STATUS_BUFFER_OVERFLOW festlegen. Darüber hinaus füllt der Bereitstellungs-Manager-Client das NameLength-Element der MOUNTDEV_NAME-Struktur aus.
Bemerkungen
Als bewährte Methode darf der Implementierer keine Threadsynchronisierung durchführen und darf keine Blockierungs- und/oder Interprocess Communication (IPC)-Funktionsaufrufe durchführen.
Weitere Informationen finden Sie unter Unterstützen von Mount Manager-Anforderungen in einem Speicherklassentreiber.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header- | mountmgr.h (include Mountmgr.h) |