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 dieser IOCTL muss der Bereitstellungs-Manager-Client einen gezählten Bytezeichenfolgenbezeichner bereitstellen, der für den Client (d. h. das Gerät oder das Volume) eindeutig ist.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Keine.

Eingabepufferlänge

Keine.

Ausgabepuffer

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

Länge des Ausgabepuffers

Parameters.DeviceIoControl.OutputBufferLength in der E/A-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

Länge des Eingabe-/Ausgabepuffers

Statusblock

Das Feld Information ist auf FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + output-UniqueIdLength> oder alternativ auf sizeof(USHORT) + output-UniqueIdLength> festgelegt, wobei die Ausgabe auf den Puffer bei Irp-AssociatedIrp.SystemBuffer> verweist.

Hinweise

Der Implementierer dieser Funktion darf keine Threadsynchronisierung durchführen und darf keine blockierenden und/oder IPC-Funktionsaufrufe (Interprocess Communication) ausführen.

Weitere Informationen finden Sie unter Unterstützung von Bereitstellungs-Manager-Anforderungen in einem Speicherklassentreiber.

Anforderungen

Anforderung Wert
Header mountdev.h (include Mountdev.h)

Weitere Informationen

MOUNTDEV_UNIQUE_ID