SAP 등록
클라이언트가 들어오는 호출을 수락하는 경우 ProtocolClOpenAfCompleteEx 함수는 일반적으로 NdisClRegisterSap를 호출하여 하나 이상의 SAP를 호출 관리자에 등록합니다.
다음 그림에서는 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 함수가 호출되기 전입니다.