DeletePortUI 函式 (winsplp.h)
埠監視器 UI DLL 的 DeletePortUI 函式會刪除印表機埠。
語法
BOOL DeletePortUI(
[in, optional] PCWSTR pszServer,
[in] HWND hWnd,
[in] PCWSTR pszPortName
);
參數
[in, optional] pszServer
呼叫端提供的字串指標,代表伺服器名稱,如果列印機為本機,則為 NULL 。 (埠監視器可以忽略此參數。)
[in] hWnd
呼叫端提供的視窗句柄,該視窗應做為對話框的父代。 如果 為 NULL,則不應該顯示任何對話框。
[in] pszPortName
呼叫端提供的字串指標,表示要刪除的埠名稱。
傳回值
如果作業成功,函式應該會傳回 TRUE。 否則應該會傳回 FALSE。 如果使用者取消作業或不受支援,函式應該呼叫 SetLastError (ERROR_CANCELLED) ,然後傳回 FALSE。
備註
需要埠監視器 UI DLL 才能定義 DeletePortUI 函式,並在 MONITORUI 結構中包含函式的位址。
多任務緩衝處理程式會從其 DeletePort 函式內呼叫 DeletePortUI 。 DeletePortUI 收到的自變數是 DeletePort 所收到的自變數。 (Microsoft Windows SDK documentation.) 中會說明 DeletePort 函式
函式應該執行下列作業:
-
呼叫 OpenPrinter,以下列格式指定印表機名稱:
- \\ServerName\,XcvPortPortName
其中 ServerName 和 PortName 是接收為 DeletePortUI 函式自變數的伺服器和埠名稱。
呼叫 OpenPrinter 需要PRINTER_DEFAULTS結構,如 Windows SDK 檔中所述。 結構的 DesiredAccess 成員必須設定為 SERVER_ACCESS_ADMINISTER。 其 pDatatype 和 pDevMode 成員可以是 NULL。
此呼叫會導致呼叫列印監視器伺服器 DLL 的 XcvOpenPort 函 式。
-
呼叫 XcvData,並指定下列輸入自變數:
- 從 OpenPrinter 接收的句柄
- 作為函式自變數接收的埠名稱
- “DeletePort” 的資料名稱字串
此呼叫會導致呼叫伺服器 DLL 的 XcvClosePort 函 式。
- 如果需要用戶互動,請顯示對話框並從使用者取得資訊,然後呼叫 XcvData,並指定自定義的數據名稱字串,以將資訊傳送至伺服器 DLL。 XcvData 呼叫會導致呼叫伺服器的 XcvDataPort 函式。
- 呼叫 ClosePrinter,指定從 OpenPrinter 收到的句柄。 這會導致呼叫伺服器 DLL 的 XcvClosePort 函 式。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | winsplp.h (包含 Winsplp.h) |