次の方法で共有


DeletePrinterDriverEx 関数

DeletePrinterDriverEx 関数は、サーバーでサポートされているドライバーの名前の一覧から指定されたプリンター ドライバー名を削除し、ドライバーに関連付けられているファイルを削除します。 この関数は、ドライバーの特定のバージョンを削除することもできます。

構文

BOOL DeletePrinterDriverEx(
  _In_ LPTSTR pName,
  _In_ LPTSTR pEnvironment,
  _In_ LPTSTR pDriverName,
  _In_ DWORD  dwDeleteFlag,
  _In_ DWORD  dwVersionFlag
);

パラメーター

pName [in]

ドライバーの削除元となるサーバーの名前を指定する null で終わる文字列へのポインター。 このパラメーターが NULL の場合、関数はローカル コンピューターからプリンター ドライバーを削除します。

pEnvironment [in]

ドライバーを削除する環境を指定する null で終わる文字列へのポインター (たとえば、x86、Windows IA64、Windows x64 などWindows NT)。 このパラメーターが NULL の場合、ドライバー名は呼び出し元のアプリケーションとクライアント コンピューターの現在の環境から削除されます (移行先アプリケーションと印刷サーバーの名前ではありません)。

pDriverName [in]

削除するドライバーの名前を指定する null で終わる文字列へのポインター。

dwDeleteFlag [in]

ドライバーのファイルとバージョンを削除するためのオプション。 このパラメーターには、次の 1 つ以上の値を指定できます。

説明
DPD_DELETE_SPECIFIC_VERSION
dwVersionFlag で指定されたバージョンを削除します。 これにより、サーバーでサポートされているドライバーの一覧からドライバーが削除されるわけではありません。
DPD_DELETE_UNUSED_FILES
未使用のドライバー ファイルをすべて削除します。
DPD_DELETE_ALL_FILES
関連付けられているすべてのファイルを削除できる場合にのみ、ドライバーを削除します。 ドライバーのファイルのいずれかが他のインストールされているドライバーによって使用されている場合、削除操作は失敗します。

DPD_DELETE_SPECIFIC_VERSIONが指定されていない場合、ドライバーが使用されていない場合は、ドライバーのすべてのバージョンが削除されます。 DPD_DELETE_UNUSED_FILESもDPD_DELETE_ALL_FILESも指定されていない場合、関数はドライバー ファイルを削除しません。

dwVersionFlag [in]

削除するドライバーのバージョン。 このパラメーターには、0、1、2、または 3 を指定できます。 このパラメーターは、 dwDeleteFlag に DPD_DELETE_SPECIFIC_VERSION フラグが含まれている場合にのみ使用されます。

戻り値

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

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

注釈

注意

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

関数はドライバー ファイルを削除する前に、ドライバーの DrvDriverEvent 関数を呼び出して、使用されていないプライベート ファイルをドライバーが削除できるようにします。 DrvDriverEvent の詳細については、「Microsoft Windows Driver Development Kit (DDK)」を参照してください。

ドライバー ファイルが現在読み込まれている場合、関数はそれらを一時ディレクトリに移動し、再起動時に削除のマークを付けます。

DeletePrinterDriverEx を呼び出す前に、プリンター ドライバーを使用するすべてのプリンター オブジェクトを削除する必要があります。

要件

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

関連項目

印刷

印刷スプーラー API 関数

AddPrinterDriverEx