Freigeben über


IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)

IOCTL_MOUNTDEV_QUERY_UNIQUE_ID ruft einen eindeutigen Bezeichner für ein Gerät oder Volume ab.

Mount Manager-Clients müssen diese IOCTL unterstützen. Beim Empfang dieses IOCTL muss der Bereitstellungs-Manager-Client einen gezählten Bytezeichenfolgenbezeichner bereitstellen, der für den Client eindeutig ist (d. h. das Gerät oder das Volume).

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Nichts.

Eingabepufferlänge

Nichts.

Ausgabepuffer

Die Geräteklasse oder der Volumetreiber gibt die MOUNTDEV_UNIQUE_ID Struktur im Puffer bei Irp->AssociatedIrp.SystemBufferzurück.

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

Eingabe-/Ausgabepuffer

N/A

Länge des Eingabe-/Ausgabepuffers

N/A

Statusblock

Das feld Information wird auf FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + output->UniqueIdLength festgelegt; oder alternativ zur Sizeof(USHORT) + output->UniqueIdLength, wobei die Ausgabe auf den Puffer bei Irp->AssociatedIrp.SystemBufferzeigt.

Bemerkungen

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_UNIQUE_ID