Функция 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, которая содержит параметры вызова, первоначально предоставленные клиентом, для добавления стороной.
Возвращаемое значение
Никакой
Замечания
Если функция диспетчера автономных вызовов ProtocolCmAddPart y возвращает NDIS_STATUS_PENDING, cm впоследствии должен вызвать NdisCmAddPartyComplete, чтобы уведомить клиента и NDIS о том, что его попытка добавить сторону в многоточечный VC завершена, независимо от того, успешно или с ошибкой.
Если клиент передает параметры трафика в CallParameters, которые не совпадают с уже установленными для многоточечных VC, конструктор диспетчера вызовов должен определить, как обрабатывать это условие, при условии каких-либо ограничений, введенных сетевым носителем. К ним относятся следующие возможности:
- Настройте параметры трафика на стороне, если базовая сетевая среда поддерживает эту функцию на виртуальных машинах с несколькими точками.
- Сброс параметров трафика, предоставленных клиентом, для VC при выполнении исходного исходящего вызова перед вызовами CM NdisCmAddPartyComplete с NDIS_STATUS_SUCCESS в качестве состояния.
- Измените параметры трафика для VC и для каждой стороны, подключенной к нему, на значения, предоставленные клиентом, перед вызовами CM NdisCmAddPartyComplete с NDIS_STATUS_SUCCESS в качестве состояния.
- Сбой попытки клиента добавить сторону. (Эта альтернатива неявно заставляет клиентов настраивать параметры трафика для многоточечных VC с NdisClMakeCall и указывать те же параметры трафика при каждом последующем вызове NdisClAddParty для заданного многоточечных VC.)
Если cm задает состояние NDIS_STATUS_SUCCESS, он должен предоставить явный дескриптор, который обычно указывает на область состояния CM, выделенную для стороннего участника, так как CallMgrPartyContext при вызове NdisCmAddPartyComplete.
Вызов NdisCmAddPartyComplete приводит к вызову NDIS клиента функция ProtocolClAddPartyComplete.
Только автономные диспетчеры вызовов, которые регистрируют себя в качестве драйверов протокола NDIS, могут вызывать NdisCmAddPartyComplete. Драйверы минипорта, ориентированные на подключение, которые обеспечивают встроенную поддержку управления вызовами, NdisMCmAddPartyComplete.