SetPort 函式

SetPort函式會設定與印表機埠相關聯的狀態。

語法

BOOL SetPort(
  _In_ LPTSTR pName,
  _In_ LPTSTR pPortName,
  _In_ DWORD  dwLevel,
  _In_ LPBYTE pPortInfo
);

參數

pName [in]

以零結尾字串的指標,指定埠所連接之印表機伺服器的名稱。 如果埠位於本機電腦上,請將此參數設定為 Null

pPortName [in]

指定印表機埠名稱之零終止字串的指標。

dwLevel [in]

指定 pPortInfo 參數所指向的結構類型。

這個值必須是 3,其對應至 PORT_INFO_3 資料結構。

pPortInfo [in]

包含要設定之埠狀態資訊的 PORT_INFO_3 結構的指標。

傳回值

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

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

備註

注意

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

SetPort函式的呼叫端必須以系統管理員身分執行。 此外,如果呼叫端是埠監視器或語言監視器,則必須呼叫 RevertToSelf 來停止模擬,才能呼叫 SetPort

呼叫 SetPort 的所有程式都必須SERVER_ACCESS_ADMINISTER埠所連線的伺服器存取權。

當您使用嚴重性值PORT_STATUS_TYPE_ERROR設定印表機埠狀態值時,列印多工緩衝處理器會停止將作業傳送至埠。 當另一個 對 SetPort呼叫清除埠狀態時,列印多工緩衝處理器會繼續將作業傳送至埠。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Winspool.h (包含 Windows.h)
程式庫
Winspool.lib
DLL
Winspool.drv
Unicode 與 ANSI 名稱
SetPortW (Unicode) 和 SetPortA (ANSI)

另請參閱

列印

列印多工緩衝處理器 API 函式

PORT_INFO_3