設定埠配置和選擇性系結的登錄
從 Windows 2000 開始,應該使用名為 Rpccfg.exe 的 Windows 資源套件中的公用程式來設定系結。 如需詳細資訊,請參閱適用于適當作業系統版本的 Windows 資源套件。
針對 Windows 2000 之前的 Windows 版本,下表中的登錄機碼會指定動態埠配置的系統預設值,以及系結至多路電腦上的 NIC。 您必須先建立這些金鑰,然後指定適當的設定。
使用 RpcServerUseProtseqEx 函式會影響這些設定。 開發人員應該熟悉本節所述的登錄設定,以及管理埠配置時的 RpcServerUseProtseqEx 函式。 有三個假設應用程式的範例遵循下表,並說明這些設定和 RpcServerUseProtseqEx 函式互通的方式。
如果索引鍵遺失或包含無效值,則整個設定會標示為無效,而且所有透過ncacn_ip_tcp或ncadg_ip_udp的RpcServerUseProtseq*呼叫都會失敗。
注意
配置給進程的埠會維持配置,直到該進程終止為止。 如果所有可用的埠都正在使用中,函式會傳回RPC_S_OUT_OF_RESOURCES。
埠金鑰 | 資料類型 | 描述 |
---|---|---|
|
REG_MULTI_SZ | 指定一組 IP 埠範圍,其中包含所有可從網際網路取得的埠,或網際網路無法使用的所有埠。 每個字串都代表單一端口或一組內含的埠 (,例如 1000-1050、1984) 。 如果任何專案超出範圍 0 到 65535,或無法解譯任何字串,RPC 執行時間會將整個設定視為無效。 |
|
REG_SZ | Y 或 N (不區分大小寫) 。 如果為 Y,則埠金鑰中列出的埠都是該電腦上的所有網際網路可用埠。 如果為 N,則埠金鑰中列出的埠全都是無法使用網際網路的埠。 |
|
REG_SZ | Y 或 N (不區分大小寫) 。 指定系統預設原則。 如果為 Y,則使用預設值的進程將會從一組網際網路可用的埠指派埠,如上面所定義。 如果為 N,則使用預設值的進程將會從僅限內部網路埠集指派埠。 |
|
REG_MULTI_SZ | 列出預設要系結之所有 NIC 的裝置名稱 (,例如 \Device\AMDPCN1) 。 如果機碼不存在,伺服器將會系結至所有 NIC。 如果金鑰存在,除非 NICFlags 欄位設定為 RPC_C_BIND_TO_ALL_NICS,否則伺服器會系結至金鑰中指定的 NIC。 如果索引鍵具有 null (「」「) 值,則組態將會標示為無效,而且所有對 RpcServerUseProtseq* 的呼叫都會透過 ncacn_ip_tcp 或 ncadg_ip_udp 失敗。 |
下表說明三個範例應用程式如何受到上表中定義的設定影響,以及如何使用 RpcServerUseProtseqEx 函式套用的設定也會受到影響。
在此範例中,會考慮三個假設性應用程式:
- InternetApp:此應用程式適用于暴露在網際網路上,並已在傳遞至RpcServerUseProtseqEx函式之 RPC_POLICY 結構的EndpointFlags成員中指定RPC_C_USE_INTERNET_PORT。
- LocalApp:此應用程式不適合暴露在網際網路上,而且已在傳遞至RpcServerUseProtseqEx函式之RPC_POLICY 結構的 EndpointFlags成員中指定RPC_C_USE_INTRANET_PORT。
- DefaultApp:此應用程式會在傳遞至RpcServerUseProtseqEx函式之RPC_POLICY結構的EndpointFlags成員中指定零。
下表說明這些設定的影響,取決於上表所說明登錄專案中所指定的值。 針對格式化考慮,系統會指派下列程式碼:
PIA = PortsInternetAvailable 金鑰值
UIP = UseInternetPorts 金鑰值
針對此範例,埠索引鍵的值是每個專案的 5000-5100。
Application | PIA | UIP | 結果 |
---|---|---|---|
InternetApp | Y | Y | 使用介於 5000 到 5100 之間的埠 |
LocalApp | Y | Y | 使用 5000-5100 範圍以外的埠 |
DefaultApp | Y | Y | 使用介於 5000 到 5100 之間的埠 |
InternetApp | Y | N | 使用介於 5000 到 5100 之間的埠 |
LocalApp | Y | N | 使用 5000-5100 範圍以外的埠 |
DefaultApp | Y | N | 使用 5000-5100 範圍以外的埠 |
InternetApp | N | Y | 使用 5000-5100 範圍以外的埠 |
LocalApp | N | Y | 使用介於 5000 到 5100 之間的埠 |
DefaultApp | N | Y | 使用 5000-5100 範圍以外的埠 |
InternetApp | N | N | 使用 5000-5100 範圍以外的埠 |
LocalApp | N | N | 使用介於 5000 到 5100 之間的埠 |
DefaultApp | N | N | 使用介於 5000 到 5100 之間的埠 |
相關主題