WSCInstallQOSTemplate 函式 (ws2spi.h)

[ Windows Vista 和後續版本的作業系統不支援此函式。]

WSCInstallQOSTemplate 函式會在系統組態資料庫中安裝指定的 QoS 範本。

語法

int WSCInstallQOSTemplate(
  [in] const LPGUID Guid,
  [in] LPWSABUF     QosName,
  [in] LPQOS        Qos
);

參數

[in] Guid

服務品質 (QoS) 提供者的全域唯一標識碼 (GUID) 。

[in] QosName

WSABUF 結構的指標,其中包含要安裝的範本 QoS 名稱。

[in] Qos

QOS 結構的指標,指定服務品質流程規格,以及 QoS 範本的任何提供者特定資訊。

傳回值

如果 WSCInstallQOSTemplate 函式成功,則傳回值為零。 否則,它會傳回下列其中一個錯誤碼。

錯誤碼 意義
WSAEFAULT
一或多個自變數不在用戶位址空間的有效部分。
WSAEINVAL
一或多個引數無效。 如果 Guid 參數中指定的 QoS 提供者無效,或 QosName 參數中指定的 QoS 範本名稱無效,就會傳回此錯誤。 如果 Qos 參數中指定的範本結構內容無效或不完整,也會傳回此錯誤。
WSAENOBUFS
記憶體無法配置給緩衝區。
WSANO_RECOVERY
發生無法復原的錯誤。 此錯誤會在數個情況下傳回,包括下列情況:提供者已安裝、使用者缺少寫入 Winsock 登錄所需的系統管理許可權,或建立或安裝類別目錄專案時發生失敗。
WSASYSCALLFAILURE
不應該失敗的系統呼叫失敗。
WSA_NOT_ENOUGH_MEMORY
記憶體不足。 當記憶體不足而無法配置新的目錄專案時,就會傳回此錯誤。

備註

Windows Vista 和更新版本不支援 WSCInstallQOSTemplate 函式。 如果在 Windows Vista 上呼叫此函式,則會傳回錯誤。

WSCInstallQOSTemplate 函式會根據 QoS 名稱安裝 QoS 範本。 WSCInstallQOSTemplate 函式的呼叫端必須具有適當的系統管理許可權,才能讓呼叫成功。

稍後可以藉由呼叫 WSPGetQOSByName 函式並傳入相關聯的 QoS 名稱,來擷取包含 QoS 設定的 QOS 結構。

WSCInstallQOSTemplate 函式會安裝包含 的具名 QoS 範本
Qos 參數中指定的 QOS 結構。 如果 QoS 範本已經存在 Qosname 參數中指定的 QoS 名稱, Qos 參數中指定的設定會取代現有範本的設定。

如果 Guid 參數設定為 NULL,則已安裝的 QOS 範本會套用至所有服務提供者。 如果 Guid 參數不是 NULL,則已安裝的 QoS 範本只適用於 Guid 參數所指示的提供者。

QoS 範本設定會儲存在非volatile 記憶體中,因此後續呼叫 WSAGetQOSByName 函式,且 lpQOSName 參數中指定的 QoS 名稱相同,傳回傳遞至 WSCInstallQOSTemplate 函式的相同 QOS 結構。

Windows Sockets 2 包含一組基底 QoS 範本。 只要以現有名稱安裝新的範本,即可覆寫並取代上述任何 QoS 範本或變更現有的 QoS 範本。 您不需要先刪除現有的範本,再取代或修改範本。 您無法刪除 Windows Sockets 2 中包含的 QoS 命名樣本基底組。 不過,您可以刪除後續新增的範本,可能是由其他服務提供者新增。

Qos 參數指向 QOS 結構,該結構可以包含包含 QOS 結構 ProviderSpecific 成員中提供者特定設定的緩衝區。 任何提供者特定的設定都會以基本 QOS 結構儲存,並在 後續呼叫 WSAGetQOSByName 函式時傳回。

即使 Guid 參數設定為 NULL,也可以設定 QOS 結構的 ProviderSpecific 成員,為所有服務提供者安裝全域 QoS 範本。 請注意,如果服務提供者無法辨識其內容,則這種做法可能會導致服務提供者忽略 QOS 結構的 ProviderSpecific 成員。 只有在特定服務提供者上安裝具名範本時,建議使用 WSCInstallQOSTemplate 函式,在 QOS 結構的 ProviderSpecific 成員中包含提供者特定設定, (Guid 參數不是 NULL) 。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 ws2spi.h

另請參閱

Qos

WSABUF

WSPGetQOSByName