Функция NdisRegisterDeviceEx (ndis.h)
Функция NdisRegisterDeviceEx создает объект устройства, основанный на указанных атрибутах.
Синтаксис
NDIS_STATUS NdisRegisterDeviceEx(
[in] NDIS_HANDLE NdisHandle,
[in] PNDIS_DEVICE_OBJECT_ATTRIBUTES DeviceObjectAttributes,
[out] PDEVICE_OBJECT *pDeviceObject,
[out] PNDIS_HANDLE NdisDeviceHandle
);
Параметры
[in] NdisHandle
Дескриптор драйвера мини-порта или дескриптор драйвера фильтра, полученный вызывающим путем вызова Функция NdisMRegisterMiniportDriver илиФункция NdisFRegisterFilterDriver соответственно.
[in] DeviceObjectAttributes
Указатель на NDIS_DEVICE_OBJECT_ATTRIBUTES структуры, содержащей атрибуты для нового устройства.
[out] pDeviceObject
Указатель, указывающий на только что созданную структуру DEVICE_OBJECT , если вызов выполнен успешно. Если вызов завершается сбоем, pDeviceObject имеет значение NULL.
[out] NdisDeviceHandle
Указатель на переменную, предоставленную вызывающим объектом, в которой эта функция, если она завершается успешно, возвращает дескриптор объекту устройства. Этот дескриптор является обязательным параметром функции NdisDeregisterDeviceEx , которую драйвер вызывает впоследствии.
Возвращаемое значение
NdisRegisterDeviceEx возвращает одно из следующих значений состояния:
Код возврата | Описание |
---|---|
|
NdisRegisterDeviceEx успешно зарегистрировал устройство. |
|
Вызывающий объект не является драйвером NDIS. |
|
Попытка драйвера зарегистрировать устройство завершилась сбоем. Обычно такое состояние ошибки распространяется из функции NdisXxx или подпрограммы поддержки режима ядра. |
Комментарии
Драйверы мини-портов и драйверы фильтров могут вызывать NdisRegisterDeviceEx для регистрации виртуального устройства.
Драйвер должен впоследствии вызывать функцию NdisDeregisterDeviceEx , когда устройство больше не требуется. Если NdisRegisterDeviceEx выделило расширение, NdisDeregisterDeviceEx освобождает расширение.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | Irql_Miscellaneous_Function(ndis) |