Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция NdisCmRegisterAddressFamilyEx регистрирует семейство адресов (AF) для связи между драйверами CoNDIS.
Синтаксис
NDIS_STATUS NdisCmRegisterAddressFamilyEx(
[in] NDIS_HANDLE NdisBindingHandle,
[in] PCO_ADDRESS_FAMILY AddressFamily
);
Параметры
[in] NdisBindingHandle
Дескриптор, предоставленный NDIS в параметре NdisBindingHandle функции NdisOpenAdapterEx. Этот дескриптор идентифицирует привязку, связанную с AF.
[in] AddressFamily
Указатель на структуру CO_ADDRESS_FAMILY, которая определяет диспетчер вызовов и AF, которые он поддерживает для привязки, которая указывает NdisBindingHandle.
Указатель на AddressFamily становится входным параметром ProtocolCoAfRegisterNotify функции всех клиентов, привязанных к одному мини-адаптеру CoNDIS.
Возвращаемое значение
NdisCmRegisterAddressFamilyEx может вернуть любое из следующих элементов:
| Возвращаемый код | Описание |
|---|---|
|
Драйвер протокола зарегистрировал AF, на который AddressFamily указывает, поэтому NDIS вызовет Функции ProtocolCoAfRegisterNotify всех клиентов, которые привязывают себя к одному и тому же минипорту адаптера. |
|
Запрошенная операция завершилась ошибкой, так как NDIS не может выделить достаточно памяти или инициализировать состояние, используемое для отслеживания диспетчера вызовов или указанного AF. |
|
NDIS не удалось вызвать NdisCmRegisterAddressFamilyEx, возможно, по одной из следующих причин:
|
Замечания
Автономные диспетчеры вызовов NDIS, которые регистрируются в качестве драйверов протокола NDIS путем вызова функция NdisRegisterProtocolDriver должна вызывать функцию NdisCmRegisterAddressFamilyEx для регистрации AF. Диспетчеры вызовов мини-порта (MCM) должны вместо этого вызвать функции NdisMCmRegisterAddressFamilyEx.
Чтобы зарегистрировать AF для привязки, автономный диспетчер вызовов должен вызывать NdisCmRegisterAddressFamilyEx из функция ProtocolBindAdapterEx.
Функция диспетчера вызовов ProtocolBindAdapterEx сначала устанавливает привязку к базовому драйверу минипорта, вызвав функцию NdisOpenAdapterEx. Каждый раз, когда NDIS вызывает ProtocolBindAdapterEx с другим дескриптором в параметре BindContext, ProtocolBindAdapterEx устанавливает привязку и регистрирует функцию AF, которую она поддерживает. Другими словами, автономный диспетчер вызовов в конечном итоге регистрирует AF для каждой привязки, в которой она предоставляет службы управления вызовами для клиентов, ориентированных на подключение.
Диспетчер вызовов может поддерживать несколько AF и может поддерживать несколько AF для одной привязки. Однако только один диспетчер звонков может поддерживать заданный AF для клиентов, привязанных к заданному адаптеру минипорта.
Когда функция диспетчера вызовов ProtocolBindAdapterEx возвращает контроль после успешной операции привязки, NDIS вызывает Функции ProtocolCoAfRegisterNotify всех клиентов, привязанных к одному и тому же минипорту.