Макрос NdisMCmOpenAddressFamilyComplete (ndis.h)

NdisMCmOpenAddressFamilyComplete возвращает окончательное состояние запроса клиента, для которого функция ProtocolCmOpenAf драйвера MCM вернула NDIS_STATUS_PENDING, чтобы открыть семейство адресов драйвера MCM.

Синтаксис

void NdisMCmOpenAddressFamilyComplete(
   _S_,
   _H_,
   _C_
);

Параметры

_S_

Указывает окончательное состояние запроса клиента на открытие af либо NDIS_STATUS_SUCCESS, либо любого определяемого вызывающим NDIS_STATUS_ XXX , за исключением NDIS_STATUS_PENDING.

_H_

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

_C_

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

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

None

Remarks

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

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

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

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

Требования

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

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

NdisAllocateFromNPagedLookasideList

NdisClOpenAddressFamilyEx

NdisCmOpenAddressFamilyComplete

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf