функция обратного вызова PROTOCOL_CM_INCOMING_CALL_COMPLETE (ndis.h)

Требуется функция ProtocolCmIncomingCallComplete . Когда NDIS вызывает эту функцию, ProtocolCmIncomingCallComplete указывает диспетчеру вызовов, что клиент, ориентированный на подключение, завершил обработку предложения входящего звонка, которое диспетчер звонков ранее направил через. NdisCmDispatchIncomingCall.

Примечание Функцию необходимо объявить с помощью типа PROTOCOL_CM_INCOMING_CALL_COMPLETE . Дополнительные сведения см. в следующем разделе Примеры.
 

Синтаксис

PROTOCOL_CM_INCOMING_CALL_COMPLETE ProtocolCmIncomingCallComplete;

void ProtocolCmIncomingCallComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE CallMgrVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

Параметры

[in] Status

Указывает окончательное состояние операции по отправке входящего вызова клиенту, ориентированному на подключение.

[in] CallMgrVcContext

Указывает дескриптор для области контекста, выделенной диспетчером вызовов, в которой диспетчер вызовов сохраняет свое состояние для каждого VC. Диспетчер вызовов предоставил этот дескриптор из функции ProtocolCoCreateVc .

[in] CallParameters

Указатель на параметры вызова, указанные диспетчером вызовов в вызове NdisCmDispatchIncomingCall. Протокол сигнализации определяет, какие параметры вызова, если таковые есть, может изменить диспетчер вызовов.

Возвращаемое значение

None

Remarks

Когда клиент, ориентированный на подключение, завершит обработку входящего предложения подключения, отправленного ему диспетчером вызовов, эта подпрограмма будет вызываться, если NdisCmDispatchIncomingCall вернул NDIS_STATUS_PENDING. Окончательное состояние входящего звонка находится в разделе Состояние. Возможные значения состояния включают, но не ограничиваются следующими:

Если клиент принимает входящий вызов, диспетчер вызовов должен отправить сигнальные сообщения, чтобы сообщить вызывающей сущности, что звонок был принят. Если клиент не принимает вызов, диспетчер вызовов должен отправить сигнальные сообщения, чтобы указать, что вызов был отклонен.

Примеры

Чтобы определить функцию ProtocolCmIncomingCallComplete , необходимо сначала предоставить объявление функции, определяющее тип определяемой функции. Windows предоставляет набор типов функций для драйверов. Объявление функции с помощью типов функций помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.

Например, чтобы определить функцию ProtocolCmIncomingCallComplete с именем MyCmIncomingCallComplete, используйте тип PROTOCOL_CM_INCOMING_CALL_COMPLETE , как показано в следующем примере кода:

PROTOCOL_CM_INCOMING_CALL_COMPLETE MyCmIncomingCallComplete;

Затем реализуйте функцию следующим образом:

_Use_decl_annotations_
VOID
 MyCmIncomingCallComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  CallMgrVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

Тип функции PROTOCOL_CM_INCOMING_CALL_COMPLETE определен в файле заголовка Ndis.h. Чтобы более точно определить ошибки при запуске средств анализа кода, не забудьте добавить заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, которые применяются к типу функции PROTOCOL_CM_INCOMING_CALL_COMPLETE в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в статье Объявление функций с помощью типов ролей функций для драйверов NDIS.

Сведения о Use_decl_annotations см. в статье Поведение функции с заметками.

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. ProtocolCmIncomingCallComplete (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. ProtocolCmIncomingCallComplete (NDIS 5.1)) в Windows XP.
Целевая платформа Windows
Header ndis.h (включая Ndis.h)
IRQL <= DISPATCH_LEVEL

См. также раздел

NdisCmDispatchIncomingCall

ProtocolClIncomingCall

ProtocolCmRegisterSap