<Return[D]><Top>

DeletePrinterDriverEx

Declare Function Api_DeletePrinterDriverEx& Lib "winspool.drv" Alias "DeletePrinterDriverA" (ByVal pName$, ByVal pEnvironment$, ByVal pDriverName$, ByVal dwDeleteFlag&)

Declare Declare Function DeletePrinterDriverEx Lib "winspool.drv" Alias "DeletePrinterDriverA" (ByVal pName As String, ByVal pEnvironment As String, ByVal pDriverName As String, ByVal dwDeleteFlag As Long) As Long

サーバーでサポートされるドライバ名のリストから、指定されたプリンタドライバ名を削除する。また、そのドライバ名に関連するファイルを削除することもできる。
DeletePrinterDriver 関数の機能拡張版である。
指定された環境で同じドライバの別のバージョンを使用中の場合、DeletePrinterDriver 関数はドライバを削除できないが、DeletePrinterDriverEx 関数では、それが可能である。

パラメータ
pName
    ドライバを削除するサーバーの名前が入った、NULL で終わる文字列へのポインタを指定する。NULL を指定すると、ローカルコンピュータ

    のプリンタドライバが削除される。
pEnvironment
    ドライバを削除する環境 ("Windows NT x86"、"Windows NT R4000"、"Windows NT Alpha_AXP"、"Windows 4.0" など) が入った、  

    NULL で終わる文字列へのポインタを指定する。NULL を指定すると、呼び出し側アプリケーションとクライアントコンピュータ (宛先アプリケ

    ーションやプリントサーバーではない) の現在の環境からドライバ名が削除される。
pDriverName
    削除するドライバの名前が入った、NULL で終わる文字列へのポインタを指定する。
dwDeleteFlag
    ドライバのファイルとバージョンの削除方法をビットフラグで指定する。次の値を組み合わせて指定する。

    値                                                         

意味                                                                                                                     

    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
    削除するドライバのバージョンを指定する。0、1、2、3 のいずれかが指定できます。このパラメータを使うのは、dwDeleteFlag パラメータで

    DPD_DELETE_SPECIFIC_VERSION を指定したときだけである。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    この関数は、ドライバファイルを削除する前に、ドライバの DrvDriverEvent 関数を呼び出して、使っていないプライベートファイルをドライバが

    削除できるようにする。
    ドライバファイルが現在ロードされている場合、関数はそれらのファイルを temp ディレクトリにコピーし、再起動時に削除するためのマークを付

    ける。