Freigeben über


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

Siehe auch

Drucken

Druckspooler-API-Funktionen

DEVMODE