estrutura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS (ndis.h)
A estrutura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS especifica funções protocolXxx do gerenciador de chamadas CoNDIS para o driver que passa essa estrutura para o Função NdisSetOptionalHandlers .
Sintaxe
typedef struct _NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS {
NDIS_OBJECT_HEADER Header;
ULONG Reserved;
CO_CREATE_VC_HANDLER CmCreateVcHandler;
CO_DELETE_VC_HANDLER CmDeleteVcHandler;
CM_OPEN_AF_HANDLER CmOpenAfHandler;
CM_CLOSE_AF_HANDLER CmCloseAfHandler;
CM_REG_SAP_HANDLER CmRegisterSapHandler;
CM_DEREG_SAP_HANDLER CmDeregisterSapHandler;
CM_MAKE_CALL_HANDLER CmMakeCallHandler;
CM_CLOSE_CALL_HANDLER CmCloseCallHandler;
CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler;
CM_ADD_PARTY_HANDLER CmAddPartyHandler;
CM_DROP_PARTY_HANDLER CmDropPartyHandler;
CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler;
CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler;
CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler;
CO_OID_REQUEST_HANDLER CmOidRequestHandler;
CO_OID_REQUEST_COMPLETE_HANDLER CmOidRequestCompleteHandler;
CM_NOTIFY_CLOSE_AF_COMPLETE_HANDLER CmNotifyCloseAfCompleteHandler;
} NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS, *PNDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS;
Membros
Header
A estrutura NDIS_OBJECT_HEADER para a estrutura de características do CoNDIS do gerenciador de chamadas (NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS). Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS, o membro Revision como NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1 e o membro Size como NDIS_SIZEOF_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1.
Reserved
Reservado para NDIS.
CmCreateVcHandler
O ponto de entrada da função ProtocolCoCreateVc do chamador.
CmDeleteVcHandler
O ponto de entrada da função ProtocolCoDeleteVc do chamador.
CmOpenAfHandler
O ponto de entrada da função ProtocolCmOpenAf do chamador.
CmCloseAfHandler
O ponto de entrada da função ProtocolCmCloseAf do chamador.
CmRegisterSapHandler
O ponto de entrada do chamador Função ProtocolCmRegisterSap .
CmDeregisterSapHandler
O ponto de entrada do chamador Função ProtocolCmDeregisterSap .
CmMakeCallHandler
O ponto de entrada da função ProtocolCmMakeCall do chamador.
CmCloseCallHandler
O ponto de entrada do chamador Função ProtocolCmCloseCall .
CmIncomingCallCompleteHandler
O ponto de entrada do chamador Função ProtocolCmIncomingCallComplete .
CmAddPartyHandler
O ponto de entrada da função ProtocolCmAddParty do chamador.
CmDropPartyHandler
O ponto de entrada do chamador Função ProtocolCmDropParty .
CmActivateVcCompleteHandler
O ponto de entrada do chamador Função ProtocolCmActivateVcComplete .
CmDeactivateVcCompleteHandler
O ponto de entrada do chamador Função ProtocolCmDeactivateVcComplete .
CmModifyCallQoSHandler
O ponto de entrada do chamador Função ProtocolCmModifyCallQoS .
CmOidRequestHandler
O ponto de entrada do chamador Função ProtocolCoOidRequest .
CmOidRequestCompleteHandler
O ponto de entrada do chamador Função ProtocolCoOidRequestComplete .
CmNotifyCloseAfCompleteHandler
O ponto de entrada do chamador Função ProtocolCmNotifyCloseAfComplete .
Comentários
Para especificar pontos de entrada como um gerenciador de chamadas coNDIS, um driver de protocolo ou um MCM (gerenciador de chamadas de miniporto) inicializa uma estrutura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS e a passa para o Função NdisSetOptionalHandlers .
Restrições autônomas do Gerenciador de Chamadas
Um gerenciador de chamadas autônomo chama NdisSetOptionalHandlers da função ProtocolSetOptions . O gerenciador de chamadas deve definir cada ponto de entrada na estrutura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS para uma função ProtocolXxx fornecida pelo driver quando chama NdisSetOptionalHandlers, mesmo que o gerenciador de chamadas não dê suporte a chamadas recebidas, chamadas de saída ou conexões ponto a ponto. Para qualquer subconjunto de funcionalidade orientada à conexão que esse gerenciador de chamadas não dá suporte, suas funções protocolXxx de espaço reservado devem simplesmente retornar NDIS_STATUS_NOT_SUPPORTED.Depois que um gerenciador de chamadas autônomo chamar o Função NdisCmRegisterAddressFamilyEx com êxito, o NDIS ignora qualquer ponto de entrada especificado anteriormente pelo gerenciador de chamadas para o Função ProtocolOidRequestComplete do NDIS_PROTOCOL_DRIVER_CHARACTERISTICS estrutura que passou para o Função NdisRegisterProtocolDriver .
Restrições de MCM
Um MCM chama a função NdisSetOptionalHandlers da função MiniportSetOptions . O MCM deve definir cada membro CmXxx na estrutura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS para uma função ProtocolXxx fornecida pelo MCM, mesmo que o MCM não dê suporte a chamadas de entrada, chamadas de saída ou conexões ponto a ponto. Para qualquer subconjunto de funcionalidade orientada à conexão que um driver MCM não dá suporte, suas funções ProtocolXxx devem simplesmente retornar NDIS_STATUS_NOT_SUPPORTED. Por exemplo, o NDIS nunca chama um driver MCM registrado ProtocolCmActivateVcComplete ou Função ProtocolCmDeactivateVcComplete , para que essas funções possam retornar NDIS_STATUS_NOT_SUPPORTED mas devem ter pontos de entrada na estrutura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS.Um driver MCM deve especificar pontos de entrada para as funções ProtocolCoCreateVc e ProtocolCoDeleteVc . Se o MCM registrou anteriormente uma função MiniportCoCreateVc ou MiniportCoDeleteVc . O NDIS ignora os pontos de entrada dessas funções, sempre que o NDIS chama o driver MCM para criar ou excluir uma VC (conexão virtual). Portanto, o NDIS passa um valor NdisAfHandle para o parâmetro inicial para a função ProtocolCoCreateVc ou ProtocolCoDeleteVc fornecida por MCM, em vez do valor MiniportAdapterContext que ele passaria para a função MiniportCoCreateVc ou MiniportCoDeleteVc de um driver de miniport não MCM.
Um driver MCM não pode definir o membro CmOidRequestHandler de NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS para sua função MiniportCoOidRequest . O driver deve fornecer um ponto de entrada separado para uma função ProtocolCoOidRequest . Um driver MCM deve ter uma função ProtocolCoOidRequest para lidar com solicitações do gerenciador de chamadas de clientes CoNDIS e deve ter um Função ProtocolCoOidRequestComplete .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Cabeçalho | ndis.h (inclua Ndis.h) |