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
Winspool.h
Bibliothek
Winspool.lib
DLL
Winspool.drv
Unicode- und ANSI-Name
IsValidDevmodeW (Unicode) und IsValidDevmodeA (ANSI)

Weitere Informationen

Drucken

Druckspooler-API-Funktionen

DEVMODE