パラメータ
hPrinter
プリンタを識別するハンドルを指定する。プリンタハンドルは、OpenPrinter 関数を使って取得する。
Level
pPrinter が指すバッファに受け取るデータの種類 (レベル) を指定する。
Command に 0 以外の値を指定するときは、Level に必ず 0 を指定する。
Windows 95: 0、1、2、5 のいずれかを指定する。
Windows NT: 0、1、2、3、4、5、7 のいずれかを指定する。
pPrinter
プリンタに設定するデータ、またはパラメータ Command
に指定するコマンドの情報が格納されているバッファへのポインタを指定する。
バッファ内のデータの種類は、Level の値によって決まる。
レベル
|
構造体
|
0
|
パラメータ Command に PRINTER_CONTROL_SET_STATUS を指定する場合は、プリンタの新しい状態を表す DWORD
値へのポインタを pPrinter に指定する。PRINTER_STATUS_PAUSED と
PRINTER_STATUS_PENDING_DELETION
は、状態を指定する値として無効である。Level に 0 を指定し、Command に PRINTER_CONTROL_SET_STATUS 以外を指定する場合は、pPrinter を
NULL にする。
|
1 |
プリンタの汎用情報を格納する
PRINTER_INFO_1 構造体。 |
2 |
プリンタの詳細情報を格納する PRINTER_INFO_2 構造体。
|
3 |
Windows NT のみ : プリンタのセキュリティ情報を格納する
PRINTER_INFO_3 構造体。 |
4
|
Windows NT のみ : プリンタの名前、サーバーの名前、リモート/ローカルのどちらかなど、最低限のプリンタ情報を格納する
PRINTER_INFO_4 構造体。
|
5 |
プリンタ属性、タイムアウト設定などのプリンタ情報を格納する PRINTER_INFO_5 構造体。 |
7
|
Windows NT 5.0 以降 :
PRINTER_INFO_7 構造体。
この構造体のメンバ dwAction によって、プリンタのデータをディレクトリサービスで公開するか、非公開にするか、更新するかを
指定する。
|
Command
SetPrinter 関数で実行するアクションを表す値を指定する。
Level に 0 以外の値を指定したときは、Command に必ず 0 を指定する。
その場合、プリンタの状態はそのままで、Level と pPrinter の指定に従ってプリンタデータが再設定される。
Level に 0 を指定した場合は、Command に次のいずれかの値を指定することでプリンタの状態を設定できる。
値
|
意味
|
PRINTER_CONTROL_PAUSE |
プリンタを一時停止する。 |
PRINTER_CONTROL_PURGE |
プリンタのすべての印刷ジョブを削除する。 |
PRINTER_CONTROL_RESUME |
一時停止しているプリンタを再開する。 |
PRINTER_CONTROL_SET_STATUS
|
プリンタの状態を設定する。プリンタの新しい状態は、pPrinter が指す DWORD の値によって
決まる。
|
戻り値
関数が成功すると、0 以外の値が返る。
関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。
解説
現在のプリンタ設定を変更するには、GetPrinter 関数を呼び出して現在の設定内容を PRINTER_INFO_2
構造体に取得し、この構造
体のメンバを必要に応じて変更した後、SetPrinter 関数を呼び出す。 |