IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)
Die Unterstützung für diese IOCTL durch Einbindungs-Manager-Clients ist obligatorisch. 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. Der Client kann diese eindeutige ID nicht ändern, ohne den Bereitstellungs-Manager zu benachrichtigen (siehe IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY).
Hauptcode
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.
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.
Anforderungen
Anforderung | Wert |
---|---|
Header | mountdev.h (include Mountdev.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für