ConfigurePortUI 函式 (winsplp.h)
埠監視器 UI DLL ConfigurePortUI 函式會從使用者取得埠組態資訊,並將其傳送至埠監視器伺服器 DLL。
語法
BOOL WINAPI pfnConfigurePortUI(
_In_opt_ PCWSTR pszServer,
_In_ HWND hWnd,
_In_ PCWSTR pszPortName
);
參數
[in, optional] pszServer
代表伺服器名稱之字串的呼叫端提供的指標,如果印表機是本機,則 NULL。 (埠監視器可以忽略此參數。
[in] hWnd
視窗的呼叫端提供的句柄,該視窗應當做對話框的父代使用。 如果 NULL,則不應顯示任何對話方塊。
[in] pszPortName
呼叫端提供的字串指標,表示要設定的埠名稱。
傳回值
如果工作成功,函式應該 TRUE傳回 。 否則,它應該 FALSE傳回 。 如果不支援作業,或由使用者取消作業(藉由選取 CANCEL 或選取 [確定但不變更組態參數],函式應該呼叫 SetLastError(ERROR_CANCELLED),則傳回 false 。
言論
需要埠監視器 UI DLL 才能定義 ConfigurePortUI 函式,並在 MONITORUI 結構中包含函式的位址。
用戶端的後台處理程式會從其 ConfigurePort 函式中呼叫 ConfigurePortUI (如 Microsoft Windows SDK 檔中所述)。 ConfigurePortUI 所接收的自變數是 ConfigurePort所收到的自變數。
函式應該執行下列作業:
-
呼叫 OpenPrinter,以下列格式指定印表機名稱:
- \\ ServerName\,XcvPortPortName
其中 ServerName 和 PortName 是接收為 configurePortUI 函式自變數 的伺服器和埠名稱。
呼叫 OpenPrinter 需要PRINTER_DEFAULTS結構,如 Windows SDK 檔所述。 結構的 DesiredAccess 成員必須設定為 SERVER_ACCESS_ADMINISTER。 其 pDatatype 和 pDevMode 成員可以是 NULL 。
此呼叫會導致呼叫列印監視器伺服器 DLL 的 XcvOpenPort 函式。
- 藉由顯示對話框,從使用者取得埠組態參數。
- 呼叫 XcvData 一或多次,並指定自定義的數據名稱字串,將每個組態參數傳送至伺服器 DLL。 每個 XcvData 呼叫都會呼叫伺服器的 XcvDataPort 函式。
- 呼叫 ClosePrinter,指定從 OpenPrinter 接收的句柄。 這會導致呼叫伺服器 DLL 的 XcvClosePort 函式。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | winsplp.h (包括 Winsplp.h) |
連結庫 | NtosKrnl.exe |