共用方式為


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 終止字串的指標,指定要從中刪除 (驅動程式的環境,例如,Windows NT x86、Windows IA64 或 Windows x64) 。 如果此參數為 Null,則會從呼叫應用程式和用戶端電腦的目前環境中刪除驅動程式名稱, (不是目的地應用程式和列印伺服器) 。

pDriverName [in]

指定要刪除之驅動程式名稱之 Null 終止字串的指標。

dwDeleteFlag [in]

刪除檔案和驅動程式版本的選項。 此參數可以是下列一或多個值。

意義
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旗標時,才會使用此參數。

傳回值

如果函式成功,則傳回值是非零值。

如果此函式失敗,則傳回值為零。

備註

注意

這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於執行時間因素,例如網路狀態、列印伺服器設定,以及撰寫應用程式時難以預測的印表機驅動程式實作因素。 從管理與使用者介面互動的執行緒呼叫此函式,可能會使應用程式看起來沒有回應。

在函式刪除驅動程式檔案之前,它會呼叫驅動程式的 DrvDriverEvent 函式,讓驅動程式移除任何未使用的私人檔案。 如需 DrvDriverEvent的詳細資訊,請參閱 Microsoft Windows 驅動程式開發工具組 (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