Freigeben über


IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL (mountdev.h)

IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME ermöglicht Bereitstellungs-Manager-Clients, z. B. Geräte- oder Volumetreiber, einen Laufwerkbuchstaben oder Linknamen für die zugehörigen Volumes vorzuschlagen.

Die Unterstützung für diese IOCTL durch Bereitstellungs-Manager-Clients ist optional.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Nichts.

Eingabepufferlänge

Nichts.

Ausgabepuffer

Der Clienttreiber muss eine Struktur mit variabler Länge vom Typ MOUNTDEV_SUGGESTED_LINK_NAME am Anfang des Puffers bei Irp->AssociatedIrp.SystemBufferplatziert werden. Der Clienttreiber muss den vorgeschlagenen beständigen Namen an der Adresse einfügen, auf die durch das Name Mitglied dieser Struktur verwiesen wird.

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_SUGGESTED_LINK_NAME)sein muss.

Eingabe-/Ausgabepuffer

N/A

Länge des Eingabe-/Ausgabepuffers

N/A

Statusblock

Wenn der Vorgang erfolgreich ist, wird das feld Information auf die Gesamtanzahl der zurückgegebenen Bytes festgelegt, und das feld Status wird auf STATUS_SUCCESS festgelegt.

Wenn OutputBufferLength- kleiner als Größe(MOUNTDEV_SUGGESTED_LINK_NAME) ist, wird das feld Status auf STATUS_INVALID_PARAMETER festgelegt.

Wenn OutputBufferLength- kleiner als die Gesamtlänge der Ausgabedaten ist, wird das Feld Status auf STATUS_BUFFER_OVERFLOW festgelegt, und das feld Information wird auf Größe(MOUNTDEV_SUGGESTED_LINK_NAME) festgelegt.

Bemerkungen

Einige Mount-Manager-Clients können ihre Laufwerkbuchstaben über Neustarts des Systems hinweg nachverfolgen, ohne dass der Bereitstellungs-Manager unterstützt wird. Solche Clients können als Reaktion auf diese IOCTL einen vorgeschlagenen Laufwerkbuchstabennamen an den Bereitstellungs-Manager senden. Der Bereitstellungs-Manager verwendet den vorgeschlagenen Namen, wenn die Datenbank des Bereitstellungs-Managers noch keinen beständigen Laufwerkbuchstabennamen für das Volume des Clients enthält. Andernfalls wird der Vorschlag ignoriert und der Laufwerkbuchstabenname in der permanenten Namensdatenbank verwendet.

Laufwerkbuchstabennamen müssen den vollständigen Pfad der symbolischen Verknüpfung im Objektnamespace enthalten und die herkömmliche MS-DOS Syntax aufweisen. Der Laufwerkbuchstaben "D" muss z. B. auf diese Weise dargestellt werden: "\DosDevices\D:". Der alternative symbolische Verknüpfungspfad von "?? \D:" kann nicht verwendet werden, oder Abkürzungen der symbolischen Verknüpfung wie "D:" können nicht verwendet werden.

Der Implementierer dieser Funktion darf 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- mountdev.h (include Mountdev.h)

Siehe auch

MOUNTDEV_SUGGESTED_LINK_NAME