次の方法で共有


DrvDeviceCapabilities 関数 (winddiui.h)

プリンター インターフェイス DLL の DrvDeviceCapabilities 関数は、プリンターの機能に関する要求された情報を返します。

構文

DWORD DrvDeviceCapabilities(
                 HANDLE   hPrinter,
  [in]           PWSTR    pszDeviceName,
                 WORD     Capability,
  [out]          PVOID    pOutput,
  [in, optional] PDEVMODE pDevmode
);

パラメーター

hPrinter

呼び出し元が指定したプリンター ハンドル。

[in] pszDeviceName

プリンター名文字列への呼び出し元指定ポインター。

Capability

要求されている情報を示す呼び出し元指定のビット フラグ。 次の表に示すフラグのいずれかを指定できます。 (フラグはヘッダー ファイル Wingdi.h で定義されています)。

フラグ 定義
DC_BINADJUST NT ベースのオペレーティング システムでは使用されません。
DC_BINNAMES pOutput パラメーターは、関数が文字列バッファーの配列 (各 24 文字) を格納するバッファーを指します。 配列内の各文字列バッファーには、用紙ソース ビンの名前を指定するワイド文字の NULL で終わる文字列が含まれている必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_BINS pOutput パラメーターは、関数が WORD 配列で埋めるバッファーを指します。 各配列要素には、サポートされている用紙ソース ビンを表す DMBIN プレフィックス付き定数 (またはカスタマイズされた値) が含まれている必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_COLLATE pOutput パラメーターは使用されません。 プリンターが照合順序をサポートしている場合、関数の戻り値は 1 にする必要があります。それ以外の場合、戻り値は 0 にする必要があります。
DC_COLORDEVICE pOutput パラメーターは使用されません。 プリンターがカラー印刷をサポートしている場合、関数の戻り値は 1 にする必要があります。それ以外の場合、戻り値は 0 にする必要があります。
DC_COPIES pOutput パラメーターは使用されません。 関数の戻り値は、プリンターがサポートできるコピーの最大数である必要があります。
DC_DATATYPE_PRODUCED NT ベースのオペレーティング システムでは使用されません。
DC_DRIVER pOutput パラメーターは使用されません。 関数の戻り値は、ドライバーの内部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 構造体の dmDriverVersion メンバーである必要があります。
DC_DUPLEX pOutput パラメーターは使用されません。 プリンターが両面印刷をサポートしている場合、関数の戻り値は 1 にする必要があります。それ以外の場合、戻り値は 0 にする必要があります。
DC_EMF_COMPLIANT NT ベースのオペレーティング システムでは使用されません。
DC_ENUMRESOLUTIONS pOutput パラメーターは、関数が LONG 配列で埋めるバッファーを指します。 プリンターでサポートされている解像度ごとに、関数は解像度の 2 つの長い単語 (1 つは x ディメンション用、もう 1 つは y ディメンション用) を 1 インチあたりのドット単位で返す必要があります。 関数の戻り値は、サポートされている解像度の数である必要があります。 pOutputNULL の場合、関数はサポートされている解像度の数だけを返す必要があります。
DC_EXTRA pOutput パラメーターは使用されません。 関数の戻り値は、ドライバーの内部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 構造体の dmDriverExtra メンバーである必要があります。
DC_FIELDS pOutput パラメーターは使用されません。 関数の戻り値は、ドライバーの内部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 構造体の dmFields メンバーである必要があります。 dmFields メンバーは、プリンター ドライバーでサポートされている DEVMODEW 構造体のデバイスに依存しない部分のメンバーを示します。
DC_FILEDEPENDENCIES pOutput パラメーターは、関数が文字列バッファーの配列 (各 64 文字の長さ) で埋めるバッファーを指します。 配列内の各文字列バッファーには、ドライバーと共にインストールする必要があるファイルの名前を指定するワイド文字の NULL で終わる文字列が含まれている必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_MANUFACTURER NT ベースのオペレーティング システムでは使用されません。
DC_MAXEXTENT pOutput パラメーターは使用されません。 関数は POINTS 構造体を返す必要があります (Microsoft Windows SDKドキュメントで説明されています)。 構造体には、プリンターの DEVMODEW 構造体の dmPaperWidth (x ディメンション) メンバーと dmPaperLength (y ディメンション) メンバーの最大許容値が含まれている必要があります。
DC_MEDIAREADY pOutput パラメーターは、関数が文字列バッファーの配列 (各 64 文字の長さ) で埋めるバッファーを指します。 配列内の各文字列バッファーには、使用できる用紙フォームの名前を指定するワイド文字の NULL で終わる文字列が含まれている必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_MEDIATYPENAMES pOutput パラメーターは、関数が文字列バッファーの配列 (各 64 文字の長さ) で埋めるバッファーを指します。 配列内の各文字列バッファーには、サポートされているメディアの種類の名前を指定するワイド文字の NULL で終わる文字列が含まれている必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は単に必要な配列要素の数を返す必要があります。
DC_MEDIATYPES pOutput パラメーターは、関数が DWORD 配列で埋めるバッファーを指します。 各配列要素には、DMMEDIA プレフィックス付き定数 ([DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 構造体を参照) またはサポートされているメディアの種類を表すカスタマイズされた値を含める必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は単に必要な配列要素の数を返す必要があります。
DC_MINEXTENT pOutput パラメーターは使用されません。 関数は POINTS 構造体を返す必要があります (Windows SDKドキュメントで説明されています)。 構造体には、プリンターの DEVMODEW 構造体の dmPaperWidth (x ディメンション) メンバーと dmPaperLength (y ディメンション) メンバーの最小値が含まれている必要があります。
DC_MODEL NT ベースのオペレーティング システムでは使用されません。
DC_NUP pOutput パラメーターは、関数が DWORD 配列で埋めるバッファーを指します。 各配列要素には、N-up オプションを表す整数が含まれている必要があります (つまり、各整数は、物理ページごとにサポートされているドキュメント ページ数を表す必要があります)。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_ORIENTATION pOutput パラメーターは使用されません。 関数の戻り値は、縦向きから横向きを生成するために必要な回転度数である必要があります。 値 0 は、横向きがサポートされていないことを示します。
DC_PAPERNAMES pOutput パラメーターは、関数が文字列バッファーの配列 (各 64 文字の長さ) で埋めるバッファーを指します。 配列内の各文字列バッファーには、用紙フォームの名前を指定するワイド文字の NULL で終わる文字列が含まれている必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_PAPERS pOutput パラメーターは、関数が WORD 配列で埋めるバッファーを指します。 各配列要素には、サポートされている用紙フォームを表す DMPAPER プレフィックス付き定数 (またはカスタマイズされた値) が含まれている必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_PAPERSIZE pOutput パラメーターは、関数が POINT 配列で埋めるバッファーを指します。 各配列要素には、フォームの用紙サイズの xy の寸法を縦向きに 0.1 mm 単位で含める必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_PERSONALITY pOutput パラメーターは、関数が文字列バッファーの配列 (各 32 文字の長さ) で埋めるバッファーを指します。 配列内の各文字列バッファーには、プリンターでサポートされているプリンター記述言語 (L"HP-GL/2"など) を指定するワイド文字の NULL で終わる文字列が含まれている必要があります。 関数の戻り値は、返される配列内の要素の数である必要があります。 pOutputNULL の場合、関数は必要な配列要素の数だけを返す必要があります。
DC_PRINTERMEM pOutput パラメーターは使用されません。 関数の戻り値は、使用可能なプリンター メモリの量をキロバイト単位で表す整数である必要があります。
DC_PRINTRATE pOutput パラメーターは使用されません。 関数の戻り値は、DC_PRINTRATEUNITに指定された単位で、印刷速度を表す整数である必要があります。
DC_PRINTRATEPPM pOutput パラメーターは使用されません。 関数の戻り値は、印刷速度を表す整数 (1 分あたりのページ数) である必要があります。
DC_PRINTRATEUNIT pOutput パラメーターは使用されません。 関数の戻り値は、DC_PRINTRATEに返される値を指定するために使用される単位を識別する必要があります。 次のいずれかの定数を指定する必要があります: PRINTRATEUNIT_PPM - pages/min。 PRINTRATEUNIT_CPS - chars./sec. PRINTRATEUNIT_LPM - 行/分。 PRINTRATEUNIT_IPM - インチ/分。
DC_SIZE pOutput パラメーターは使用されません。 関数の戻り値は、ドライバーの内部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 構造体の dmSize メンバーである必要があります。
DC_STAPLE pOutput パラメーターは使用されません。 プリンターがステープルをサポートしている場合は関数の戻り値が TRUE 、プリンターがステープルをサポートしていない場合は FALSE にする必要があります。
DC_TRUETYPE pOutput パラメーターは使用されません。 関数の戻り値には、0、1、または複数のフラグを指定できます。 DCTT_BITMAP: デバイスは TrueType フォントをグラフィックスとして印刷できます。 DCTT_DOWNLOAD: デバイスは、ダウンロードした TrueType フォントを受け入れます。 DCTT_DOWNLOAD_OUTLINE: (Windows 95/98/Me のみ) デバイスはアウトライン TrueType フォントをダウンロードできます。 DCTT_SUBDEV: デバイスは、デバイスフォントを TrueType フォントに置き換えることができます。
DC_VERSION pOutput パラメーターは使用されません。 関数の戻り値は、ドライバーの内部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 構造体の dmSpecVersion メンバーである必要があります。

[out] pOutput

関数提供の情報を受け取るバッファーへの呼び出し元指定ポインター。 バッファーの使用は、 Capability パラメーターに対して受け取った値に依存します。

[in, optional] pDevmode

現在の印刷ジョブ特性を記述する DEVMODEW 構造体への呼び出し元指定ポインター。 このパラメーターが NULL の場合、 DrvDeviceCapabilities は、印刷キューのユーザーの既定の DEVMODEW 構造体など、指定されたプリンター ドライバーの現在の既定の初期化値を取得します。

戻り値

関数の戻り値は、 Capability パラメーターに対して受け取った値に依存します。 受信した Capability 値がドライバーでサポートされていない機能を表している場合、またはエラーが発生した場合、関数は GDI_ERRORを返す必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header winddiui.h (Winddiui.h を含む)