IsValidDevmodeA 関数 (winspool.h)

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

構文

BOOL IsValidDevmodeA(
  [in, optional] PDEVMODEA pDevmode,
                 size_t    DevmodeSize
);

パラメーター

[in, optional] pDevmode

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

DevmodeSize

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

戻り値

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

注釈

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

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

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

要件

要件
対象プラットフォーム デスクトップ
Header winspool.h (Winspool.h を含む)
Library Winspool.lib
[DLL] Winspool.drv

こちらもご覧ください

Devmode