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 den zu überprüfende DEVMODE.
-
DevmodeSize
-
Die Größe des Eingabebytepuffers in Bytes.
Rückgabewert
TRUE, wenn DEVMODE strukturell gültig ist. Wenn kleinere Fehler gefunden werden, korrigiert die Funktion sie und gibt TRUE zurück.
FALSE, wenn DEVMODE ein oder mehrere wichtige strukturelle Probleme auf hat. Beispielsweise ist der dmSize-Member falsch ausgerichtet oder gibt einen puffer an, der zu klein ist. Außerdem FALSE, wenn pDevmode NULL ist.
Bemerkungen
Es werden keine Felder für private Druckertreiber von DEVMODE aktiviert, sondern nur die öffentlichen Felder.
Aufrufer sollten dmSize + dmDriverExtra nur für DevmodeSize verwenden, wenn sie garantieren können, dass die Eingabepuffergröße 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 Kontext Least-Privileged Benutzerkontos (USER Account, LUA) ausführbare Datei.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows [Nur XP-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2003-Desktop-Apps] |
| Header |
|
| Bibliothek |
|
| DLL |
|
| Unicode- und ANSI-Name |
IsValidDevmodeW (Unicode) und IsValidDevmodeA (ANSI) |