<Return[C]><Top>

CreateIC

Declare Function Api_CreateIC& Lib "gdi32" Alias "CreateICA" (ByVal lpDriverName$, ByVal lpDeviceName$, ByVal lpOutput$, lpInitData As DEVMODE)

Declare Function CreateIC Lib "gdi32" Alias "CreateICA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As DEVMODE) As Long

指定されたデバイスの情報コンテキストを作成する。情報コンテキストを使うと、デバイスコンテキストを作成することなく、デバイスに関する情報を短時間で取得できる。ただし、GDI 描画関数に、情報コンテキストのハンドルを渡すことはできない。

パラメータ
lpszDriver
    デバイスドライバの名前を保持している、NULL で終わる文字列(たとえば Epson)へのポインタを指定する。
lpszDevice
    コントロールパネルの[プリンタ](Windows NT 3.x ではプリントマネージャ)で特定の出力デバイスを表すために表示される名前(たとえば

    Epson FX-80)を保持している、NULL で終わる文字列へのポインタを指定する。これはプリンタのモデル名ではない。lpszDevice パラメータ

    は必須である。
lpszOutput
    Win32 ベースのアプリケーションでは、このパラメータは無視されるので、NULL を指定するべきである。このパラメータは、16 ビット版の

    Windows との互換性を保つ目的でのみ提供されている。
lpdvmInit
    デバイスドライバが利用するデバイス固有の初期化データを保持している、1 個の
DEVMODE 構造体へのポインタを指定する。

    DocumentProperties 関数は、指定したデバイスに関する情報をこの構造体から取得する。ユーザーが指定した既定の初期化情報が存在

    し、デバイスドライバがその情報を使う場合、lpdvmInit パラメータで NULL を指定しなければならない。

戻り値
    関数が成功すると、情報コンテキストのハンドルが返る。
    関数が失敗すると、NULL が返る。
    Windows NT/2000:拡張エラー情報を取得するには、 関数を使う。

解説
    16 ビット版の Windows 用に作成されたアプリケーションは、lpszOutput パラメータを使って、ポート名を指定するか、ファイルへの印刷を行

    っていた。Win32 ベースのアプリケーションでは、ポート名を指定する必要はない。
    情報デバイスコンテキストが不要になったら、 DeleteDC 関数を呼び出して削除する。