Einschränken des Ladespeicherorts von UMDF-Treibern

Die UMDF-Plattform kann die Standard UMDF-Treiberbinärdateien nicht von einem anderen Speicherort als dem Verzeichnis %SystemRoot%\System32\Drivers\Umdf oder in Windows 10 1803 und höher vom Treiberspeicherspeicherort aus laden. Daher muss eine UMDF-INF-Datei den Speicherort, an dem UMDF-Treiber installiert werden, auf diese Verzeichnisse beschränken. Durch die Installation in diesen Verzeichnissen wird außerdem sichergestellt, dass nicht privilegierte Benutzer die UMDF-Treiber nicht manipulieren können.

Damit eine UMDF-Treiberbinärdatei aus der Driver Store-Binärdatei (Windows 10 1803 und höher) ausgeführt werden kann, muss die INF-Treiberdatei einen INF DestinationDirs-Abschnitt enthalten, der dem folgenden Codebeispiel ähnelt.

[DestinationDirs]
UMDriverCopy=13 ; makes the file 'run from Driver Store'

"UMDriverCopy" stellt einen vom INF-Writer bestimmten Namen eines Abschnitts dar, der die UMDF-Treiberbinärdateien auflistet, wie im folgenden Beispiel gezeigt.

[UMDriverCopy]
WUDFOsrUsbDriver.dll

Die CopyFiles-Direktive muss auch auf den UmDriverCopy-Abschnitt verweisen, um die Liste der UMDF-Treiberbinärdateien anzugeben, die das Betriebssystem vom Quellmedium auf das Ziel kopieren soll, wie im folgenden Beispiel gezeigt.

[OsrUsb_Install.NT]
CopyFiles=UMDriverCopy

Um UMDF-Treiberbinärdateien in %SystemRoot%\System32\Drivers\Umdf zu installieren, anstatt vom Treiberspeicher ausgeführt zu werden, sollte der ABSCHNITT INF DestinationDirs stattdessen wie im folgenden Codebeispiel aussehen.

[DestinationDirs]
UMDriverCopy=12,UMDF ; copies to drivers\umdf