IOCTL_STORAGE_MCN_CONTROL IOCTL (ntddstor.h)
Aktiviert oder deaktiviert vorübergehend die Übermittlung der benutzerdefinierten PnP-Ereignisse GUID_IO_MEDIA_ARRIVAL und GUID_IO_MEDIA_REMOVAL auf einem Wechselmediengerät. Dadurch wird wiederum die Erkennung von Medienänderungen (AutoPlay) für das Gerät aktiviert oder deaktiviert, wenn der Aufrufer das Gerät mit FILE_READ_ATTRIBUTES Zugriff geöffnet hat und das Gerät die automatische Wiedergabe in der Registrierung aktiviert hat. Der Aufrufer darf das Gerät nicht für den Lese- oder Schreibzugriff öffnen, andernfalls schlägt der IOCTL-Vorgang fehl. Diese IOCTL hat keine Auswirkungen auf die Einstellung AutoPlay in der Registrierung.
Ein Treiber für ein solches Wechselmedium muss folgendes tun:
- Behalten Sie die Anzahl der Deaktivierungsanforderungen pro physischem Gerät in der Geräteobjekterweiterung bei.
- Wenn mit dieser IOCTL aufgerufen wird, erhöhen Sie die Anzahl, wenn das Flag zum Deaktivieren der Medienänderungserkennung festgelegt ist. Wenn das Flag klar ist, verringern Sie die Anzahl.
- Legen Sie das Medienänderungsereignis für das Gerät fest, wenn der Medienzustand nur dann geändert wird, wenn die Anzahl der Deaktivierungsanforderungen 0 ist.
Hauptcode
Eingabepuffer
Der Puffer bei Irp-AssociatedIrp.SystemBuffer> enthält einen booleschen Wert, wobei TRUE angibt, dass der Treiber die Medienänderungserkennung deaktivieren soll.
Eingabepufferlänge
Die Länge eines booleschen Werts.
Ausgabepuffer
Keine.
Länge des Ausgabepuffers
Keine.
Statusblock
Das Feld Information ist auf 0 festgelegt. Das Feld Status ist auf STATUS_SUCCESS oder möglicherweise auf STATUS_BUFFER_TOO_SMALL, STATUS_INVALID_PARAMETER oder STATUS_INVALID_DEVICE_STATE festgelegt.
Anforderungen
Anforderung | Wert |
---|---|
Header | ntddstor.h (include Ntddstor.h) |