Поделиться через


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

NdisCmOpenAddressFamilyComplete возвращает окончательное состояние открытия автономного диспетчера вызовов для конкретного клиента после того, как диспетчер вызовов вернул NDIS_STATUS_PENDING в ответ на исходный запрос open-AF этого клиента.

Синтаксис

void NdisCmOpenAddressFamilyComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE NdisAfHandle,
  [in] NDIS_HANDLE CallMgrAfContext
);

Параметры

[in] Status

Указывает окончательное состояние операции open-AF либо NDIS_STATUS_SUCCESS, либо любую ошибку, определяемую CM, NDIS_STATUS_ XXX за исключением NDIS_STATUS_PENDING.

[in] NdisAfHandle

Указывает дескриптор, предоставленный NDIS, который входил в функцию диспетчера вызовов ProtocolCmOpenAf, которая возвращала NDIS_STATUS_PENDING.

[in] CallMgrAfContext

Указывает дескриптор для выделенной абонентом области контекста резидента, в которой диспетчер вызовов сохраняет состояние о открытом семействе адресов этого клиента, включая NdisAfHandle, если открытый объект выполнен успешно. Если состояние не NDIS_STATUS_SUCCESS, NDIS игнорирует этот параметр.

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

Никакой

Замечания

Автономный диспетчер вызовов должен вызывать NdisCmOpenAddressFamilyComplete, если ее функция ProtocolCmOpenAf ранее возвращалась NDIS_STATUS_PENDING для заданного NdisAfHandle. Клиент, инициирующий операцию open-AF с помощью вызова NdisClOpenAddressFamilyEx, не может выполнять дальнейшие операции с привязкой, ориентированной на подключение, пока не NdisCmOpenAddressFamilyComplete вызывает вызов этого клиента. функция ProtocolClOpenAfCompleteEx.

Если вызывающий объект NdisCmOpenAddressFamilyComplete задает состояние значение NDIS_STATUS_SUCCESS, NDIS впоследствии передает указанные CallMgrAfContext в качестве входного параметра всем предоставленным протоколом CMCmXxx и ProtocolCoXxx функциям, которые касаются открытия клиентом семейства адресов, пока клиент не закрывает AF. Диспетчер вызовов должен освободить или повторно использовать любую область контекста AF, выделенную перед тем, как она передает состояние сбоя NdisCmOpenAddressFamilyComplete.

Для успешного открытия предоставленный NDIS NdisAfHandle представляет связь между диспетчером вызовов и клиентом для открытого AF на определенном минипорт-драйвере, к которому привязан диспетчер вызовов и клиент. Оба драйвера протокола должны рассматривать NdisAfHandle как непрозрачную переменную, которую необходимо передать, немодифицированной и непреднамереленной, в последующих вызовах функций NdisCl/Cm/CoXxxx, для которых этот дескриптор является обязательным параметром. При сбое открытия диспетчер вызовов должен учитывать недопустимый NdisAfHandle, если NdisMCmOpenAddressFamilyComplete возвращает элемент управления.

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. NdisCmOpenAddressFamilyComplete (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisCmOpenAddressFamilyComplete (NDIS 5.1)) в Windows XP.
целевая платформа Настольный
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_CallManager_Function(ndis)

См. также

NdisAllocateFromNPagedLookasideList

NdisClOpenAddressFamilyEx

NdisMCmOpenAddressFamilyComplete

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf