共用方式為


RpcServerInterfaceGroupCreate 函式 (rpcdce.h)

RpcServerInterfaceGroupCreate 函式會建立伺服器應用程式的 RPC 伺服器介面群組。 這個介面群組會完整指定 RPC 伺服器應用程式的介面、連接點和閒置屬性。 建立之後,即可啟動和停用介面群組,因為應用程式需要。

語法

RPC_STATUS RpcServerInterfaceGroupCreate(
  [in]  RPC_INTERFACE_TEMPLATE               *Interfaces,
  [in]  unsigned long                        NumIfs,
  [in]  RPC_ENDPOINT_TEMPLATE                *Endpoints,
  [in]  unsigned long                        NumEndpoints,
  [in]  unsigned long                        IdlePeriod,
  [in]  RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN IdleCallbackFn,
  [in]  void                                 *IdleCallbackContext,
  [out] PRPC_INTERFACE_GROUP                 IfGroup
);

參數

[in] Interfaces

定義介面群組所公開介面 之RPC_INTERFACE_TEMPLATE 結構的陣列指標。

[in] NumIfs

介面中的項目數目。

[in] Endpoints

定義介面群組所使用端點 之RPC_ENDPOINT_TEMPLATE 結構的陣列指標。

[in] NumEndpoints

端點中的項目數目。

[in] IdlePeriod

介面群組變成閑置后的秒數,RPC 運行時間應該在叫用閑置回呼之前等候。 0 表示會立即叫用回呼。 INFINITE 表示伺服器應用程式不在意介面群組的閑置狀態。

[in] IdleCallbackFn

個RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN 回呼,一旦介面群組閑置時,RPC 運行時間就會叫用,以 在IdlePeriod中提供的時間長度。 只有在 IdlePeriodINFINITE 時,才能為 NULL

[in] IdleCallbackContext

要傳遞至 IdleCallbackFn 中閑置回呼的使用者定義指標。

[out] IfGroup

如果成功,則為接收新建立介面群組句柄 之RPC_INTERFACE_GROUP 緩衝區的指標。 如果此函式失敗, IfGroup 為未定義。

傳回值

意義
RPC_S_OK
呼叫成功。
 
注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

備註

當介面群組閑置時,可以選擇性地通知伺服器應用程式。 雖然任何應用程式都可以利用這項功能,但目標是想要讓服務閑置停止的服務開發人員。

IdlePeriod 可防止 RPC 運行時間在閑置狀態快速變更時產生大量通知,並在觸發的服務案例中協助服務避免不必要啟動和停止。 開發人員應該考慮服務初始化和關機的成本、將發生新活動的預期頻率,以及選取此值時讓服務保持閑置的成本。 低閑置期間會導致服務在新的用戶端活動發生時經常啟動和停止,而高閑置期間會導致服務在不執行有意義的工作的情況下耗用資源。

介面群組中的介面只能透過相同群組的端點呼叫。 不屬於介面群組的介面無法透過屬於群組一部分的連接點呼叫。

伺服器應用程式不一定會看到 RPC 伺服器活動。 在某些情況下,只要有用戶端與伺服器的開啟連線,即使長時間未分派任何呼叫,仍可能會讓用戶端保持作用中狀態。 伺服器應用程式不得依賴 RPC 運行時間之間的任何相互關聯,宣告群組處於閑置狀態,以及上次分派呼叫之後的時間。

規格需求

需求
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 rpcdce.h (包含 Rpc.h)
程式庫 Rpcrt4.lib
Dll Rpcrt4.dll

另請參閱

RpcServerInterfaceGroupActivate

RpcServerInterfaceGroupClose

RpcServerInterfaceGroupDeactivate

RpcServerInterfaceGroupInqBindings