Функция NdisMGetDeviceProperty (ndis.h)
Функция NdisMGetDeviceProperty извлекает объекты устройства, необходимые для настройки связи с водителем минипорта через водителя автобуса.
Синтаксис
void NdisMGetDeviceProperty(
[in] NDIS_HANDLE MiniportAdapterHandle,
[out, optional] PDEVICE_OBJECT *PhysicalDeviceObject,
[out, optional] PDEVICE_OBJECT *FunctionalDeviceObject,
[out, optional] PDEVICE_OBJECT *NextDeviceObject,
[out, optional] PCM_RESOURCE_LIST *AllocatedResources,
[out, optional] PCM_RESOURCE_LIST *AllocatedResourcesTranslated
);
Параметры
[in] MiniportAdapterHandle
Дескриптор NDIS, идентифицирующий адаптер мини-порта. Изначально этот дескриптор был передан в Функция MiniportInitializeEx .
[out, optional] PhysicalDeviceObject
Указатель на буфер, выделенный вызывающим объектом. Буфер получает указатель на структуру DEVICE_OBJECT , представляющую физическое устройство для адаптера мини-порта. Этот указатель является необязательным.
[out, optional] FunctionalDeviceObject
Указатель на буфер, выделенный вызывающим объектом. Буфер получает указатель на структуру DEVICE_OBJECT . DEVICE_OBJECT представляет функциональный объект устройства, создаваемый NDIS для физического устройства. Этот указатель является необязательным.
[out, optional] NextDeviceObject
Указатель на буфер, выделенный вызывающим объектом. Буфер получает указатель на структуру DEVICE_OBJECT , представляющую следующий объект устройства. Перед этим следующим объектом устройства в цепочке стоит функциональный объект устройства, принадлежащий драйверу мини-порта. NDIS создает этот объект функционального устройства для физического устройства. Например, следующим объектом устройства может быть объект, связанный с водителем шины, или HAL Этот указатель необязателен.
[out, optional] AllocatedResources
Указатель на буфер, выделенный вызывающим объектом, который получает указатель на CM_RESOURCE_LIST структуру. CM_RESOURCE_LIST описывает список аппаратных ресурсов, которые диспетчер PnP назначает физическому устройству. Этот список содержит ресурсы в необработанном виде, то есть не переведенные с помощью HAL. Этот указатель является необязательным.
[out, optional] AllocatedResourcesTranslated
Указатель на буфер, выделенный вызывающим объектом, который получает указатель на CM_RESOURCE_LIST структуру. CM_RESOURCE_LIST описывает список аппаратных ресурсов, которые диспетчер PnP назначает физическому устройству. Этот список содержит ресурсы в переведенной форме, то есть переведенные с помощью HAL. Этот указатель является необязательным.
Возвращаемое значение
None
Remarks
Водители минипорта должны получить определенную информацию, чтобы настроить связь. Драйверы минипорта для экземпляров минипорта, которые обмениваются данными через водителей автобусов, используют NdisMGetDeviceProperty для получения этих сведений. Например, для экземпляров драйвера минипорта, которые подключаются к шинам USB или IEEE 1394, требуются водители минипорта, которые предоставляют стандартный интерфейс драйвера минипорта NDIS по верхнему краю и используют интерфейс класса для конкретной шины на нижнем крае. Чтобы использовать интерфейс класса USB или 1394, драйвер минипорта создает и отправляет пакеты запросов ввода-вывода (IRP). Драйвер мини-порта использует физические объекты и объекты следующего устройства, извлекаемые NdisMGetDeviceProperty , для отправки IRP в интерфейс класса для конкретной шины. Дополнительные сведения о создании и отправке IRP водителям автобусов см. в разделе Обработка IRP.
Указатели на DEVICE_OBJECT для физических, функциональных и следующих объектов устройства, извлекаемых NdisMGetDeviceProperty , — это просто дескрипторы, которые непрозрачны для драйвера мини-порта.
Драйверы минипорта могут вызывать NdisMGetDeviceProperty для получения указателей на "необработанные" или "переведенные" ресурсы. Необработанные ресурсы не были переведены hal; были переведены ресурсы. Дополнительные сведения о необработанных и переведенных ресурсах см. в разделе Plug and Play.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 5.1 и NDIS 6.0 и более поздних версиях. Драйверы NDIS 5.1 см. в разделе NdisMGetDeviceProperty (NDIS 5.1). |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | Irql_Miniport_Driver_Function(ndis) |