Функция NdisCmAddPartyComplete (ndis.h)

NdisCmAddPartyComplete возвращает окончательное состояние запроса клиента, для которого диспетчер вызовов ранее вернулся NDIS_STATUS_PENDING, чтобы добавить сторону в установленный многоточечный VC.

Синтаксис

void NdisCmAddPartyComplete(
  [in]           NDIS_STATUS         Status,
  [in]           NDIS_HANDLE         NdisPartyHandle,
  [in, optional] NDIS_HANDLE         CallMgrPartyContext,
  [in]           PCO_CALL_PARAMETERS CallParameters
);

Параметры

[in] Status

Указывает окончательное состояние операции надстроек диспетчера вызовов, NDIS_STATUS_SUCCESS или любой NDIS_STATUS_XXX, за исключением NDIS_STATUS_PENDING.

[in] NdisPartyHandle

Указывает дескриптор, определяющий сторону. Этот дескриптор был входным для функции ProtocolCmAddParty диспетчера вызовов.

[in, optional] CallMgrPartyContext

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

[in] CallParameters

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

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

None

Remarks

Если функция ProtocolCmAddParty автономного диспетчера вызовов возвращает NDIS_STATUS_PENDING, cm впоследствии должна вызвать NdisCmAddPartyComplete , чтобы уведомить клиента и NDIS о том, что попытка добавить сторону в многоточенном VC завершена, будь то успешно или с ошибкой.

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

  • Настройте параметры трафика для отдельных сторон, если базовый сетевой носитель поддерживает эту функцию на многоточечных виртуальных машинах.
  • Сбросьте параметры трафика, предоставленные клиентом, до параметров, установленных для VC, когда исходный исходящий вызов был выполнен до вызова NdisCmAddPartyComplete с NDIS_STATUS_SUCCESS в качестве состояния .
  • Измените параметры трафика для VC и для каждой стороны, подключенной в данный момент к нему, на значения, предоставленные клиентом, прежде чем CM вызовет NdisCmAddPartyComplete с NDIS_STATUS_SUCCESS в качестве состояния .
  • Сбой попытки клиента добавить сторону. (Эта альтернатива неявно заставляет клиентов настраивать параметры трафика для многоточечных VC с помощью NdisClMakeCall и указывать одни и те же параметры трафика при каждом последующем вызове NdisClAddParty для заданного многоточечных VC.)
Для некоторых носителей, ориентированных на подключение, параметры трафика являются по своей природе VC и, следовательно, идентичны для всех сторон в многоточественном VC.

Если cm задает для параметра Состояние значение NDIS_STATUS_SUCCESS, он должен предоставить явный дескриптор, который обычно является указателем на область, выделенную CM для отдельных сторон, как CallMgrPartyContext при вызове NdisCmAddPartyComplete.

Вызов NdisCmAddPartyComplete вызывает NDIS для вызова клиента Функция ProtocolClAddPartyComplete .

Вызывать NdisCmAddPartyComplete могут только автономные диспетчеры вызовов, которые регистрируют себя с помощью NDIS в качестве драйверов протокола. Драйверы мини-портов, ориентированные на подключение, которые обеспечивают встроенную поддержку управления вызовами, вызывают вместо этого NdisMCmAddPartyComplete .

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisCmAddPartyComplete (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisCmAddPartyComplete (NDIS 5.1)) в Windows XP.
Целевая платформа Персональный компьютер
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI Irql_CallManager_Function(ndis)

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

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClAddParty

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty