IsValidDevmode-Funktion
Die IsValidDevmode-Funktion überprüft, ob der Inhalt einer DEVMODE-Struktur gültig ist.
Syntax
BOOL IsValidDevmode(
_In_ PDEVMODE pDevmode,
size_t DevmodeSize
);
Parameter
-
pDevmode [in]
-
Ein Zeiger auf die zu überprüfende DEVMODE-Datei .
-
DevmodeSize
-
Die Größe des Eingabebytepuffers in Byte.
Rückgabewert
TRUE, wenn DEVMODE strukturell gültig ist. Wenn kleinere Fehler gefunden werden, korrigiert die Funktion diese und gibt TRUE zurück.
FALSE, wenn devmode ein oder mehrere erhebliche strukturelle Probleme aufweist. Beispielsweise ist sein dmSize-Member falsch ausgerichtet oder gibt einen zu kleinen Puffer an. Außerdem FALSE , wenn pDevmodeNULL ist.
Bemerkungen
Es werden keine privaten Druckertreiberfelder des DEVMODE aktiviert, nur die öffentlichen Felder.
Aufrufer sollten dmSize+dmDriverExtra für DevmodeSize nur verwenden, wenn sie garantieren können, dass die Größe des Eingabepuffers mindestens so groß ist. Da DEVMODE im Allgemeinen nicht vertrauenswürdige Daten sind, sind die Werte, die sich im Eingabepuffer an den Offsets dmSize und dmDriverExtra befinden, ebenfalls nicht vertrauenswürdig.
Diese Funktion ist im LUA-Kontext (User Account) Least-Privileged ausführbar.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|
Unicode- und ANSI-Name |
IsValidDevmodeW (Unicode) und IsValidDevmodeA (ANSI) |