EngEnumForms 関数 (winddi.h)

EngEnumForms 関数は、指定したプリンターでサポートされているフォームを列挙します。

構文

ENGAPI BOOL EngEnumForms(
  [in]            HANDLE  hPrinter,
  [in]            DWORD   Level,
  [out, optional] LPBYTE  pForm,
  [in]            DWORD   cbBuf,
  [out]           LPDWORD pcbNeeded,
  [out]           LPDWORD pcReturned
);

パラメーター

[in] hPrinter

フォームを列挙するプリンターを処理します。 これは、DrvEnablePDEVhDriver パラメーターとして渡される PDEV ハンドルです。

[in] Level

pForm によって指される構造体のバージョンを指定します。 この値は 1 である必要があります。これは、列挙されたフォームがFORM_1_INFO構造体で返されることを示します。

[out, optional] pForm

列挙されたFORM_INFO_1構造体が書き込まれるバイト配列へのポインター。

[in] cbBuf

lpbForms のサイズをバイト単位で指定します。

[out] pcbNeeded

コピーが正常に完了した場合に pForm にコピーされたバイト数を受け取る DWORD へのポインター。 pForm が小さすぎてすべての列挙フォームのデータを格納できない場合、この DWORD は必要なバイト数を指定します。

[out] pcReturned

pForm にコピーされたFORM_INFO_1構造体の数を受け取る DWORD へのポインター。

戻り値

すべてのパラメーターが有効で、列挙されたフォーム データが pForm に正常にコピーされた場合、EngEnumFormsTRUE を返します。 それ以外の場合は FALSE を 返し、エラー メッセージがログに記録されます。 エラー情報を取得するには、 EngGetLastError を呼び出します。

注釈

プリンター ドライバーは EngEnumForms を呼び出して、GDI に特定のプリンターでサポートされているフォームの一覧を取得させることができます。 列挙された情報は、pForm が指すFORM_INFO_1構造体の配列 (Microsoft Windows SDK ドキュメントで宣言されています) として返されます。 pForm が指す配列が、列挙データを保持するのに十分な大きさでない場合は、必要な配列サイズが代わりに pcbNeeded で返されます。

要件

要件
サポートされている最小のクライアント Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム ユニバーサル
Header winddi.h (Winddi.h を含む)
Library Win32k.lib
[DLL] Win32k.sys

こちらもご覧ください

DrvEnablePDEV

EngGetLastError