DeviceCapabilitiesW 関数 (wingdi.h)
DeviceCapabilities 関数は、プリンター ドライバーの機能を取得します。
構文
int DeviceCapabilitiesW(
[in] LPCWSTR pDevice,
[in] LPCWSTR pPort,
[in] WORD fwCapability,
[out] LPWSTR pOutput,
[in] const DEVMODEW *pDevMode
);
パラメーター
[in] pDevice
プリンターの名前を含む null で終わる文字列へのポインター。 これはプリンター ドライバーではなく、プリンターの名前であることに注意してください。
[in] pPort
LPT1 など、デバイスが接続されているポートの名前を含む null で終わる文字列へのポインター。
[in] fwCapability
クエリを実行する機能。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
プリンターの用紙ビンの名前を取得します。 pOutput バッファーは、文字列バッファーの配列を受け取ります。 各文字列バッファーの長さは 24 文字で、紙箱の名前が含まれます。 戻り値は、配列内のエントリの数を示します。 名前が 24 文字の場合を除き、名前文字列は null で終わる。 pOutput が NULL の場合、戻り値は必要な bin エントリの数です。 |
|
使用可能な用紙ビンの一覧を取得します。 pOutput バッファーは、プリンターで使用可能な用紙ソースを示す WORD 値の配列を受け取ります。 戻り値は、配列内のエントリの数を示します。 可能な配列値の一覧については、DEVMODE 構造体の dmDefaultSource メンバーの説明を参照してください。 pOutput が NULL の場合、戻り値は配列内の必要なエントリ数を示します。 |
|
プリンターが照合順序をサポートしている場合、戻り値は 1 です。それ以外の場合、戻り値は 0 です。 pOutput パラメーターは使用されません。 |
|
プリンターがカラー印刷をサポートしている場合、戻り値は 1 です。それ以外の場合、戻り値は 0 です。 pOutput パラメーターは使用されません。 |
|
デバイスが印刷できる部数を返します。 |
|
プリンター ドライバーのバージョン番号を返します。 |
|
プリンターが両面印刷をサポートしている場合、戻り値は 1 です。それ以外の場合、戻り値は 0 です。 pOutput パラメーターは使用されません。 |
|
プリンターでサポートされている解像度の一覧を取得します。 pOutput バッファーは LONG 値の配列を受け取ります。 サポートされている解像度ごとに、配列には、解像度の x 次元と y 次元を 1 インチあたりのドット単位で指定する LONG 値のペアが含まれています。 戻り値は、サポートされている解像度の数を示します。 pOutput が NULL の場合、戻り値はサポートされている解像度の数を示します。 |
|
プリンター ドライバーの DEVMODE 構造体のデバイス固有の部分に必要なバイト数を返します。 |
|
プリンター ドライバーの DEVMODE 構造体の dmFields メンバーを返します。 dmFields メンバーは、プリンター ドライバーでサポートされている構造体のデバイスに依存しない部分のメンバーを示します。 |
|
ドライバーのインストール時に読み込む必要がある追加ファイルの名前を取得します。 pOutput バッファーは、文字列バッファーの配列を受け取ります。 各文字列バッファーの長さは 64 文字で、ファイルの名前が含まれます。 戻り値は、配列内のエントリの数を示します。 名前が 64 文字の場合を除き、名前文字列は null で終わる。 pOutput が NULL の場合、戻り値はファイルの数になります。 |
|
プリンター ドライバーの DEVMODE 構造体の dmPaperLength および dmPaperWidth メンバーが指定できる最大用紙サイズを返します。 戻り値の LOWORD には最大 dmPaperWidth 値が含まれており、HIWORD には最大 dmPaperLength 値が含まれています。 |
|
現在使用できる用紙フォームの名前を取得します。 pOutput バッファーは、文字列バッファーの配列を受け取ります。 各文字列バッファーの長さは 64 文字で、用紙フォームの名前が含まれます。 戻り値は、配列内のエントリの数を示します。 名前が 64 文字の場合を除き、名前文字列は null で終わる。 pOutput が NULL の場合、戻り値は用紙の数です。 |
|
サポートされているメディアの種類の名前を取得します。 pOutput バッファーは、文字列バッファーの配列を受け取ります。 各文字列バッファーの長さは 64 文字で、サポートされているメディアの種類の名前が含まれます。 戻り値は、配列内のエントリの数を示します。 名前が 64 文字の場合を除き、文字列は null で終わる。 pOutput が NULL の場合、戻り値は必要なメディアタイプ名の数になります。 |
|
サポートされているメディアの種類の一覧を取得します。 pOutput バッファーは、サポートされているメディアの種類を示す DWORD 値の配列を受け取ります。 戻り値は、配列内のエントリの数を示します。 可能な配列値の一覧については、DEVMODE 構造体の dmMediaType メンバーの説明を参照してください。 pOutput が NULL の場合、戻り値は配列内の必要なエントリ数を示します。 |
|
プリンター ドライバーの DEVMODE 構造体の dmPaperLength および dmPaperWidth メンバーが指定できる最小用紙サイズを返します。 戻り値の LOWORD には dmPaperWidth の最小値が含まれており、HIWORD には dmPaperLength の最小値が含まれています。 |
|
デバイスの縦向きと横向きの関係を、縦向きを反時計回りに回転して横向きを生成する角度の観点から返します。 戻り値は次のいずれかになります。
|
|
プリンターが印刷ページごとに複数のドキュメント ページを印刷する機能を示す整数の配列を取得します。 pOutput バッファーは、DWORD 値の配列を受け取ります。 各値は、印刷ページごとにサポートされているドキュメント ページ数を表します。 戻り値は、配列内のエントリの数を示します。 pOutput が NULL の場合、戻り値は配列内の必要なエントリ数を示します。 |
|
サポートされている用紙名 (レター、法律など) の一覧を取得します。 pOutput バッファーは、文字列バッファーの配列を受け取ります。 各文字列バッファーの長さは 64 文字で、用紙フォームの名前が含まれます。 戻り値は、配列内のエントリの数を示します。 名前が 64 文字の場合を除き、名前文字列は null で終わる。 pOutput が NULL の場合、戻り値は用紙の数です。 |
|
サポートされている用紙サイズの一覧を取得します。 pOutput バッファーは、プリンターで使用可能な用紙サイズを示す WORD 値の配列を受け取ります。 戻り値は、配列内のエントリの数を示します。 使用可能な配列値の一覧については、DEVMODE 構造体の dmPaperSize メンバーの説明を参照してください。 pOutput が NULL の場合、戻り値は配列内の必要なエントリ数を示します。 |
|
サポートされている各用紙サイズの寸法をミリメートルの 10 分の 1 で取得します。 pOutput バッファーは、POINT 構造体の配列を受け取ります。 各構造体には、用紙が DMORIENT_PORTRAIT 方向にあるかのように、用紙サイズの幅 (x 次元) と長さ (y 次元) が含まれます。 戻り値は、配列内のエントリの数を示します。 |
|
プリンターでサポートされているプリンター記述言語の一覧を取得します。 pOutput バッファーは、文字列バッファーの配列を受け取ります。 各バッファーの長さは 32 文字で、プリンター記述言語の名前が含まれています。 戻り値は、配列内のエントリの数を示します。 名前が 32 文字の場合を除き、名前文字列は null で終わる。 pOutput が NULL の場合、戻り値は必要な配列エントリ数を示します。 |
|
戻り値は、使用可能なプリンター メモリの量 (キロバイト単位) です。 pOutput パラメーターは使用されません。 |
|
戻り値は、プリンターの印刷速度を示します。 DC_PRINTRATEUNIT に返される値は、DC_PRINTRATE値の単位を示します。 pOutput パラメーターは使用されません。 |
|
戻り値は、プリンターの印刷速度を 1 分あたりのページ数で示します。 pOutput パラメーターは使用されません。 |
|
戻り値は、 DC_PRINTRATE フラグに対して返される値の印刷レート単位を示す次のいずれかの値です。
pOutput パラメーターは使用されません。
|
|
プリンター ドライバーの DEVMODE 構造体の dmSize メンバーを返します。 |
|
プリンターが stapling をサポートしている場合、戻り値は 0 以外の値になります。それ以外の場合、戻り値は 0 です。 pOutput パラメーターは使用されません。 |
|
TrueType フォントを使用するドライバーの機能を取得します。
DC_TRUETYPEの場合、pOutput パラメーターは NULL である必要があります。 戻り値には、次の 1 つ以上を指定できます。
|
|
プリンター ドライバーが準拠している仕様バージョンを返します。 |
[out] pOutput
配列へのポインター。 配列の形式は 、fwCapability パラメーターの設定によって異なります。 pOutput が NULL の場合に返される内容については、上記の各機能を参照してください。
[in] pDevMode
DEVMODE 構造体へのポインター。 このパラメーターが NULL の場合、 DeviceCapabilities は、指定されたプリンター ドライバーの現在の既定の初期化値を取得します。 それ以外の場合、関数は pDevMode が指す構造体に含まれる値を取得します。
戻り値
関数が成功した場合、戻り値は fwCapability パラメーターの設定によって異なります。 戻り値が 0 の場合は、通常、関数が正常に完了した一方で、サポートされていない機能など、何らかの種類のエラーが発生したことを示します。 詳細については、 fwCapability 値の説明を参照してください。
関数が -1 を返す場合、これは機能がサポートされていないか、一般的な関数エラーが発生したことを意味する可能性があります。
注釈
プリンター ドライバーがカスタム デバイス機能をサポートしている場合、ドライバーはカスタム機能ごとに SetPrinterData 関数を呼び出す必要があります。 SetPrinterData 関数は、適切なプリンター データを印刷システムに追加します。これにより、32 ビット アプリケーションは 64 ビットの Windows インストールでカスタム機能にアクセスできます。
カスタム機能ごとに、まず機能の種類を記述するプリンター データを追加する必要があります。 これを行うには、 SetPrinterData を呼び出すときに、 pValueName 文字列を CustomDeviceCapabilityType_Xxx に設定します。ここで、"Xxx" は機能の 16 進数表現です。 たとえば、"CustomDeviceCapabilityType_1234" があるとします。 設定するレジストリ データは 、REG_DWORD 型である必要があり、その値を次のいずれかに設定する必要があります。
- カスタム機能が DWORD の場合は 0
- 1(カスタム機能がバイトのバッファーの場合)
- 2、カスタム機能が項目の配列である場合
注意
wingdi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DeviceCapabilities を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | WinSpool.lib |
[DLL] | WinSpool.drv |