次の方法で共有


IsValidDevmodeW 関数 (winspool.h)

印刷スプーラーの IsValidDevmode 関数は、DEVMODE 構造体の内容が有効であることを確認します。

構文

BOOL IsValidDevmodeW(
  [in, optional] PDEVMODEW pDevmode,
                 size_t    DevmodeSize
);

パラメーター

[in, optional] pDevmode

検証する DEVMODE 構造体へのポインター。

DevmodeSize

pDevmode 指すバッファーのサイズ (バイト単位)。

戻り値

DEVMODE 構造体が有効な場合、または関数が有効にするために構造体の修復に成功した場合、関数は TRUE 返します。 それ以外の場合、関数は FALSE 返します。 呼び出し元は、GetLastError 呼び出すことによってエラー コードを取得できます。

備考

信頼できない可能性のあるソースから取得した DEVMODE 構造体を使用する前に、プリンター ドライバーはこの関数を呼び出して、構造体が有効であることを確認できます。 この関数は、DEVMODE 構造体のパブリック メンバーのみを検証します。 構造体のプライベート メンバーはチェックされません。

DEVMODE 構造体の dmSize メンバーは、構造体に追加されたドライバー指定のプライベート データを含まない、DEVMODE 構造体のサイズを指定します。 dmDriverExtra メンバーは、構造体に追加されるプライベート データのサイズ (存在する場合) を指定します。 呼び出し元は、入力バッファー サイズが少なくともその大きさであることを保証できる場合にのみ、devModeSize dmSize +dmDriverExtraするように設定する必要があります。

この関数では、呼び出し元が昇格された特権を取得する必要はありません。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー winspool.h (Winspool.h を含む)
ライブラリ Winspool.lib
DLL Winspool.drv

関連項目

DEVMODE