次の方法で共有


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 のプライベート プリンター ドライバー フィールドはチェックされません。パブリック フィールドのみ。

呼び出し元は、入力バッファー サイズが少なくともその大きさであることを保証できる場合にのみ、DevmodeSizedmSize+dmDriverExtra を使用する必要があります。 DEVMODE は一般に信頼されていないデータであるため、dmSize オフセットと dmDriverExtra オフセットの入力バッファーにある値も信頼されません。

この関数は、ユーザー アカウント (LUA) コンテキストLeast-Privileged実行可能です。

必要条件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
Header
Winspool.h
ライブラリ
Winspool.lib
[DLL]
Winspool.drv
Unicode 名と ANSI 名
IsValidDevmodeW (Unicode) と IsValidDevmodeA (ANSI)

関連項目

印刷

印刷スプーラー API 関数

Devmode