プリンターの機能の取得

すべての出力デバイスがグラフィックス機能のセット全体をサポートしているわけではありません。 たとえば、ハードウェアの制限により、ほとんどのベクター プロッターではビット ブロック転送がサポートされていません。 アプリケーションは、 GetDeviceCaps 関数を呼び出し、適切なインデックスを指定し、戻り値を調べることで、デバイスが特定のグラフィックス関数をサポートしているかどうかを判断できます。

次の例は、アプリケーションがプリンターをテストして、ビット ブロック転送をサポートしているかどうかを判断する方法を示しています。

// Examine the raster capabilities of the device  
// identified by hdcPrint to verify that it supports  
// the BitBlt function.  
 
if ((GetDeviceCaps(hdcPrint, RASTERCAPS) 
       & RC_BITBLT) == 0) 
{ 
   DeleteDC(hdcPrint); 
   break; 
} 

else 
{ 
    // Print the bitmap using the printer DC.  
}