Функция NdisCmOpenAddressFamilyComplete (ndis.h)
NdisCmOpenAddressFamilyComplete возвращает окончательное состояние открытия автономного диспетчера вызовов заданного af для конкретного клиента после того, как диспетчер вызовов вернул 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 игнорирует этот параметр.
Возвращаемое значение
None
Remarks
Автономный диспетчер вызовов должен вызывать NdisCmOpenAddressFamilyComplete , если его функция ProtocolCmOpenAf ранее возвращала NDIS_STATUS_PENDING для заданного NdisAfHandle . Клиент, который инициировал операцию open-AF с помощью вызова NdisClOpenAddressFamilyEx, не может выполнять дальнейшие операции, ориентированные на подключение, с той же привязкой, пока NdisCmOpenAddressFamilyComplete не вызовет вызов этого клиента Функция ProtocolClOpenAfCompleteEx .
Если вызывающий объект NdisCmOpenAddressFamilyComplete задает значение Status NDIS_STATUS_SUCCESS, NDIS затем передает заданный дескриптор CallMgrAfContext в качестве входного параметра всем предоставленным CM функциям ProtocolCmXxx и ProtocolCoXxx , которые касаются открытия клиентом семейства адресов до тех пор, пока клиент не закроет AF. Диспетчер вызовов должен освободить или повторно использовать любую выделенную область контекста af, прежде чем передает состояние сбоя в NdisCmOpenAddressFamilyComplete.
Для успешного открытия NdisAfHandle , предоставляемый NDIS, представляет связь между диспетчером вызовов и клиентом для открытой автоФО в определенном драйвере мини-порта, к которому привязаны диспетчер вызовов и клиент. Оба драйвера протокола должны рассматривать NdisAfHandle как непрозрачную переменную для передачи, неизмененную и неинтерпретированную в последующих вызовах функций NdisCl/Cm/CoXxx, для которых этот дескриптор является обязательным параметром. Если не удалось открыть, диспетчер вызовов должен считать NdisAfHandle недопустимым, когда NdisMCmOpenAddressFamilyComplete возвращает элемент управления.
Вызывать NdisCmOpenAddressFamilyComplete могут только автономные диспетчеры вызовов, которые регистрируют себя с помощью NDIS в качестве драйверов протокола. Драйверы мини-портов, ориентированные на подключение, которые предоставляют встроенную поддержку управления вызовами, должны вызывать Вместо этого NdisMCmOpenAddressFamilyComplete .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisCmOpenAddressFamilyComplete (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisCmOpenAddressFamilyComplete (NDIS 5.1)) в Windows XP. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_CallManager_Function(ndis) |