Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция NdisIfRegisterProvider регистрирует поставщик сетевого интерфейса NDIS.
Синтаксис
NDIS_STATUS NdisIfRegisterProvider(
[in] PNDIS_IF_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
[in] NDIS_HANDLE IfProviderContext,
PNDIS_HANDLE pNdisIfProviderHandle
);
Параметры
[in] ProviderCharacteristics
Указатель на предоставленный вызывающим объект NDIS_IF_PROVIDER_CHARACTERISTICS структура. Эта структура определяет характеристики поставщика, включая точки входа для функций обратного вызова поставщика.
[in] IfProviderContext
Дескриптор области контекста, предоставленной вызывающим для этого поставщика сетевых интерфейсов. Задайте для этого параметра значение null, если нет области контекста.
pNdisIfProviderHandle
Указатель на переменную дескриптора, предоставляемую вызывающим. Если операция регистрации завершается успешно, NDIS записывает дескриптор в эту переменную, которая идентифицирует поставщика сетевого интерфейса. Поставщик интерфейса должен сохранить этот дескриптор для использования в последующих вызовах, требующих дескриптора поставщика интерфейса.
Возвращаемое значение
NdisIfRegisterProvider возвращает одно из следующих значений состояния:
| Возвращаемый код | Описание |
|---|---|
|
Операция успешно завершена. |
|
Операция завершилась ошибкой из-за нехватки ресурсов. |
|
NdisIfRegisterProvider не удалось зарегистрировать поставщика, так как структура NDIS_IF_PROVIDER_CHARACTERISTICS в параметре providerCharacteristics содержит недопустимые данные члена. |
|
NdisIfRegisterProvider не удалось зарегистрировать поставщик, так как элемент заголовка в NDIS_IF_PROVIDER_CHARACTERISTICS указывает версию структуры, которая не поддерживается. |
Замечания
Драйверы NDIS вызывают функцию NdisIfRegisterProvider один раз во время инициализации для регистрации в качестве поставщика интерфейса NDIS. Например, драйвер может вызывать NdisIfRegisterProvider из подпрограммы DriverEnt ry. Поставщик интерфейса — это программный компонент, который управляет сетевыми интерфейсами для поддержки MIB (RFC 2863).
Для обработки запросов поставщика интерфейса OID поставщики интерфейсов предоставляют точки входа для функций обратного вызова в NDIS_IF_PROVIDER_CHARACTERISTICS структура ProviderCharacteristicsNdisIfRegisterProvider.
Поставщики интерфейсов NDIS вызывают функцию NdisIfRegisterInterface для регистрации сетевого интерфейса. Поставщик может зарегистрировать несколько интерфейсов.
Если NdisIfRegisterProvider успешно, он возвращает дескриптор в расположении, на которое указывает параметр pNdisProviderHandle. Поставщик интерфейса должен сохранить этот дескриптор для использования в последующих вызовах, требующих дескриптора поставщика интерфейса. Например, драйвер должен вызывать NdisIfDeregisterProvider перед выгрузкой драйвера.
Компонент, который больше не является поставщиком интерфейса, может вызывать функцию NdisIfDeregisterProvid er в любое время, чтобы освободить ресурсы поставщика интерфейса, выделенные NDIS при вызове драйвера NdisIfRegisterProvider.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.0 и более поздних версиях. |
| целевая платформа | Настольный |
| заголовка | ndis.h (include Ndis.h) |
| библиотеки | Ndis.lib |
| IRQL | PASSIVE_LEVEL |
| правил соответствия DDI | Irql_Interfaces_Function(ndis) |