GetDeviceCaps 関数 (wingdi.h)
GetDeviceCaps 関数は、指定したデバイスのデバイス固有の情報を取得します。
構文
int GetDeviceCaps(
[in] HDC hdc,
[in] int index
);
パラメーター
[in] hdc
DC へのハンドル。
[in] index
返される項目。 このパラメーターには、次の値のいずれかを指定できます。
インデックス | 意味 | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
デバイス ドライバーのバージョン。 | ||||||||||||||||||||||||||||||||||
|
デバイス テクノロジ。 次のいずれかの値を指定できます。
hdc パラメーターが拡張メタファイルの DC へのハンドルである場合、デバイス テクノロジは CreateEnhMetaFile 関数に指定された参照デバイスのハンドルです。 拡張メタファイル DC であるかどうかを判断するには、 GetObjectType 関数を使用します。 |
||||||||||||||||||||||||||||||||||
|
物理画面の幅 (ミリメートル単位)。 | ||||||||||||||||||||||||||||||||||
|
物理画面の高さ (ミリメートル単位)。 | ||||||||||||||||||||||||||||||||||
|
画面の幅 (ピクセル単位)。またはプリンターの場合は、ページの印刷可能領域の幅 (ピクセル単位)。 | ||||||||||||||||||||||||||||||||||
|
画面の高さ (ラスター ライン)。またはプリンターの場合は、ページの印刷可能領域の高さ (ピクセル単位)。 | ||||||||||||||||||||||||||||||||||
|
画面幅に沿った論理インチあたりのピクセル数。 複数のディスプレイ・モニターがあるシステムでは、この値はすべてのモニターで同じです。 | ||||||||||||||||||||||||||||||||||
|
画面の高さに沿った論理インチあたりのピクセル数。 複数のディスプレイ・モニターがあるシステムでは、この値はすべてのモニターで同じです。 | ||||||||||||||||||||||||||||||||||
|
各ピクセルの隣接するカラー ビットの数。 | ||||||||||||||||||||||||||||||||||
|
カラー プレーンの数。 | ||||||||||||||||||||||||||||||||||
|
デバイス固有のブラシの数。 | ||||||||||||||||||||||||||||||||||
|
デバイス固有のペンの数。 | ||||||||||||||||||||||||||||||||||
|
デバイス固有のフォントの数。 | ||||||||||||||||||||||||||||||||||
|
デバイスのカラー 深度がピクセルあたり 8 ビット以下の場合、デバイスのカラー テーブル内のエントリの数。 色深度が大きいデバイスの場合は、-1 が返されます。 | ||||||||||||||||||||||||||||||||||
|
線の描画に使用されるデバイス ピクセルの相対幅。 | ||||||||||||||||||||||||||||||||||
|
線の描画に使用されるデバイス ピクセルの相対的な高さ。 | ||||||||||||||||||||||||||||||||||
|
線の描画に使用されるデバイス ピクセルの対角線の幅。 | ||||||||||||||||||||||||||||||||||
|
予約済み。 | ||||||||||||||||||||||||||||||||||
|
デバイスのクリッピング機能を示すフラグ。 デバイスが四角形にクリップできる場合は、1 になります。 それ以外の場合は 0 です。 | ||||||||||||||||||||||||||||||||||
|
システム パレット内のエントリの数。 このインデックスは、デバイス ドライバーが RASTERCAPS インデックスにRC_PALETTE ビットを設定し、ドライバーが 16 ビット Windows と互換性がある場合にのみ使用できる場合にのみ有効です。 | ||||||||||||||||||||||||||||||||||
|
システム パレット内の予約済みエントリの数。 このインデックスは、デバイス ドライバーが RASTERCAPS インデックスにRC_PALETTE ビットを設定し、ドライバーが 16 ビット Windows と互換性がある場合にのみ使用できる場合にのみ有効です。 | ||||||||||||||||||||||||||||||||||
|
デバイスの実際の色解像度 (ピクセルあたりのビット数)。 このインデックスは、デバイス ドライバーが RASTERCAPS インデックスにRC_PALETTE ビットを設定し、ドライバーが 16 ビット Windows と互換性がある場合にのみ使用できる場合にのみ有効です。 | ||||||||||||||||||||||||||||||||||
|
印刷デバイスの場合: 物理ページの幅 (デバイス単位)。 たとえば、8.5-x11 インチの用紙で 600 dpi で印刷するように設定されたプリンターの物理的な幅の値は 5100 デバイスユニットです。 物理ページは、ほとんどの場合、ページの印刷可能領域よりも大きく、小さくなることはありません。 | ||||||||||||||||||||||||||||||||||
|
印刷デバイスの場合: 物理ページの高さ (デバイス単位)。 たとえば、8.5 バイ 11 インチの用紙で 600 dpi で印刷するように設定されたプリンターの物理的な高さの値は 6600 デバイス単位です。 物理ページは、ほとんどの場合、ページの印刷可能領域よりも大きく、小さくなることはありません。 | ||||||||||||||||||||||||||||||||||
|
印刷デバイスの場合: 物理ページの左端から印刷可能領域の左端までの距離 (デバイス単位)。 たとえば、8.5 by-11 インチの用紙で 600 dpi で印刷するように設定されたプリンターでは、左端の 0.25 インチの用紙に印刷できない場合、物理的な水平方向のオフセットは 150 デバイス単位になります。 | ||||||||||||||||||||||||||||||||||
|
印刷デバイスの場合: 物理ページの上端から印刷可能領域の上端までの距離 (デバイス単位)。 たとえば、8.5 by-11 インチの用紙で 600 dpi で印刷するように設定されたプリンターでは、用紙の一番上の 0.5 インチに印刷できない場合、垂直方向の物理的オフセットは 300 デバイス 単位になります。 | ||||||||||||||||||||||||||||||||||
|
ディスプレイ デバイスの場合: デバイスの現在の垂直更新レート (1 秒あたりのサイクル数 (Hz)。
垂直方向の更新レート値 0 または 1 は、ディスプレイ ハードウェアの既定の更新速度を表します。 この既定のレートは、通常、ディスプレイ カードまたはコンピューターのマザーボード上のスイッチ、または ChangeDisplaySettings などの表示機能を使用しない構成プログラムによって設定されます。 |
||||||||||||||||||||||||||||||||||
|
プリンターの x 軸の拡大縮小率。 | ||||||||||||||||||||||||||||||||||
|
プリンターの y 軸の拡大縮小率。 | ||||||||||||||||||||||||||||||||||
|
推奨される水平方向の描画配置。ピクセルの倍数として表されます。 最適な描画パフォーマンスを得るために、この値の倍数にウィンドウを水平方向に配置する必要があります。 0 の値は、デバイスが高速化され、任意のアラインメントが使用されることを示します。 | ||||||||||||||||||||||||||||||||||
|
デバイスの網かけとブレンドの機能を示す値。 その他のコメントについては、「解説」を参照してください。
|
||||||||||||||||||||||||||||||||||
|
次の表に示すように、デバイスのラスター機能を示す値。
|
||||||||||||||||||||||||||||||||||
|
次の表に示すように、デバイスの曲線機能を示す値。
|
||||||||||||||||||||||||||||||||||
|
次の表に示すように、デバイスの回線機能を示す値。
|
||||||||||||||||||||||||||||||||||
|
次の表に示すように、デバイスの多角形機能を示す値。
|
||||||||||||||||||||||||||||||||||
|
次の表に示すように、デバイスのテキスト機能を示す値。
|
||||||||||||||||||||||||||||||||||
|
デバイスの色管理機能を示す値。
|
戻り値
戻り値は、目的の項目の値を指定します。
nIndex が BITSPIXEL で、デバイスに 15bpp または 16bpp がある場合、戻り値は 16 です。
注釈
nIndex が SHADEBLENDCAPS の場合:
- プリンターの場合、 GetDeviceCaps は プリンターが報告するものを返します。
- ディスプレイ デバイスでは、すべてのブレンド操作を使用できます。SB_NONE以外に、戻り値はSB_CONST_ALPHAとSB_PIXEL_ALPHAのみです。これは、これらの操作が高速化されるかどうかを示します。
メモ Display1 は通常、プライマリ モニターですが、常にとは限りません。
インデックス | プリンターのエスケープが置き換えられました |
---|---|
PHYSICALWIDTH | GETPHYSPAGESIZE |
PHYSICALHEIGHT | GETPHYSPAGESIZE |
PHYSICALOFFSETX | GETPRINTINGOFFSET |
PHYSICALOFFSETY | GETPHYSICALOFFSET |
SCALINGFACTORX | GETSCALINGFACTOR |
SCALINGFACTORY | GETSCALINGFACTOR |
メモGetDeviceCaps は、 ディスプレイ ドライバーが提供する情報を報告します。 ディスプレイ ドライバーが情報の報告を拒否した場合、 GetDeviceCaps は固定計算に基づいて情報を計算します。 ディスプレイ ドライバーが無効な情報を報告した場合、 GetDeviceCaps は 無効な情報を返します。 また、ディスプレイ ドライバーが情報の報告を拒否した場合、 GetDeviceCaps は、固定 DPI (96 DPI) または固定サイズ (ディスプレイ ドライバーが行った情報と提供されなかった情報に応じて) のいずれかを前提とするため、正しくない情報を計算する可能性があります。 残念ながら、(Windows Vista で導入された) Windows ディスプレイ ドライバー モデル (WDDM) に実装されているディスプレイ ドライバーは、GDI が情報を取得しないため、 GetDeviceCaps は 常に情報を計算する必要があります。
例
例については、「 印刷の準備」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Gdi32.lib |
[DLL] | Gdi32.dll |