註冊 SAP
如果用戶端接受撥入電話,其 ProtocolClOpenAfCompleteEx 函式通常會藉由呼叫 NdisClRegisterSap向呼叫管理員註冊一或多個 SA。
下圖顯示註冊 SAP 之呼叫管理員的用戶端。
下圖顯示註冊 SAP 之 MCM 驅動程式的用戶端。
透過 對 NdisClRegisterSap的呼叫,用戶端會在特定的 SAP 上要求連入呼叫的通知。 NDIS 會將用戶端所提供的 SAP 資訊轉送至呼叫管理員的 或 MCM 驅動程式的 ProtocolCmRegisterSap 函式以進行驗證。 如果指定的 SAP 已在使用中,或呼叫管理員或 MCM 驅動程式無法辨識用戶端提供的 SAP 規格,則呼叫管理員或 MCM 驅動程式會失敗此要求。
在 ProtocolCmRegisterSap中,呼叫管理員或 MCM 驅動程式可能會與網路控制裝置或其他媒體特定代理程式通訊,以在網路上註冊連線導向用戶端的 SAP。 ProtocolCmRegisterSap 也會儲存代表 SAP 的 NDIS 提供的 NdisSapHandle 。
ProtocolCmRegisterSap 可以同步或非同步完成。 若要以非同步方式完成,呼叫管理員的 ProtocolCmRegisterSap 函式會呼叫 NdisCmRegisterSapComplete。 MCM 驅動程式的 ProtocolCmRegisterSap 函式會呼叫 NdisMCmRegisterSapComplete。 呼叫 Ndis (M) CmRegisterSapComplete 會導致 NDIS呼叫用戶端的ProtocolClRegisterSapComplete函式。
如果用戶端對 NdisClRegisterSap 的呼叫成功,NDIS 會傳回代表 SAP 的 NdisSapHandle 用戶端。
呼叫管理員代表連線導向用戶端註冊 SAP 之後,它會透過呼叫 NdisCmDispatchIncomingCall通知傳入通話供應專案的用戶端導向至該 SAP。 MCM 驅動程式會呼叫 NdisMCmDispatchIncomingCall (請參閱 指出來 電) 。 即使 SAP 註冊仍在擱置中,用戶端仍可在 SAP 上接收來電;也就是說,呼叫其 ProtocolClRegisterSapComplete 函式之前。