DeviceCapabilitiesA 関数 (wingdi.h)
DeviceCapabilities 関数は、プリンター ドライバーの機能を取得します。
構文
int DeviceCapabilitiesA(
[in] LPCSTR pDevice,
[in] LPCSTR pPort,
[in] WORD fwCapability,
[out] LPSTR pOutput,
[in] const DEVMODEA *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 |