IsValidDevmode 関数
IsValidDevmode 関数は、DEVMODE 構造体の内容が有効であることを確認します。
構文
BOOL IsValidDevmode(
_In_ PDEVMODE pDevmode,
size_t DevmodeSize
);
パラメーター
-
pDevmode [in]
-
検証する DEVMODE へのポインター。
-
DevmodeSize
-
入力バイト バッファーのサイズ (バイト単位)。
戻り値
DEVMODE が構造的に有効な場合は TRUE。 軽微なエラーが見つかった場合、関数はそれらを修正し、 TRUE を返します。
FALSE。DEVMODE に 1 つ以上の重大な構造上の問題がある場合。 たとえば、 dmSize メンバーがずれているか、バッファーが小さすぎることを指定します。 また、pDevmode が NULL の場合は FALSEです。
解説
DEVMODE のプライベート プリンター ドライバー フィールドはチェックされません。パブリック フィールドのみ。
呼び出し元は、入力バッファー サイズが少なくともその大きさであることを保証できる場合にのみ、DevmodeSize に dmSize+dmDriverExtra を使用する必要があります。 DEVMODE は一般に信頼されていないデータであるため、dmSize オフセットと dmDriverExtra オフセットの入力バッファーにある値も信頼されません。
この関数は、ユーザー アカウント (LUA) コンテキストLeast-Privileged実行可能です。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
Header |
|
ライブラリ |
|
[DLL] |
|
Unicode 名と ANSI 名 |
IsValidDevmodeW (Unicode) と IsValidDevmodeA (ANSI) |