次の方法で共有


DeletePrinter 関数

DeletePrinter 関数は、指定したプリンター オブジェクトを削除します。

構文

BOOL DeletePrinter(
  _Inout_ HANDLE hPrinter
);

パラメーター

hPrinter [in, out]

削除されるプリンター オブジェクトへのハンドル。 プリンター ハンドルを取得するには 、OpenPrinter または AddPrinter 関数を使用します。

戻り値

関数が成功した場合、戻り値は 0 以外の値になります。

関数が失敗した場合は、0 を返します。

注釈

注意

これはブロック関数または同期関数であり、すぐには返されない可能性があります。 この関数が返す速度は、ネットワーク状態、プリント サーバーの構成、プリンター ドライバーの実装要因など、アプリケーションの作成時に予測が困難な実行時の要因によって異なります。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しなくなる可能性があります。

指定したプリンターに対して処理する印刷ジョブが残っている場合、 DeletePrinter はプリンターに保留中の削除をマークし、すべての印刷ジョブが印刷されたときにプリンターを削除します。 印刷ジョブは、保留中の削除としてマークされているプリンターに追加できません。

保留中の削除のマークが付けられたプリンターは保持できませんが、印刷ジョブを保持、再開、再起動できます。 プリンターが保持されていて、プリンターのジョブがある場合、 DeletePrinter はERROR_ACCESS_DENIEDで失敗します。

DeletePrinter では、渡されたハンドルは閉じられないことに注意してください。 したがって、アプリケーションは ClosePrinter を引き続き呼び出す必要があります。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winspool.h (Windows.h を含む)
ライブラリ
Winspool.lib
[DLL]
Spoolss.dll

関連項目

印刷

印刷スプーラー API 関数

AddPrinter

EnumPrinters

OpenPrinter