Поделиться через


Метод IMiniportDMus::Init (dmusicks.h)

Метод Init инициализирует объект мини-порта DMus.

Синтаксис

NTSTATUS Init(
  [in, optional] PUNKNOWN      UnknownAdapter,
  [in]           PRESOURCELIST ResourceList,
  [in]           PPORTDMUS     Port,
  [out]          PSERVICEGROUP *ServiceGroup
);

Параметры

[in, optional] UnknownAdapter

Указатель на интерфейс IUnknown объекта адаптера, для которого выполняется инициализация мини-объекта. Этот параметр является необязательным и может быть указан как NULL. Дополнительные сведения см. в разделе "Примечания".

[in] ResourceList

Указатель на объект IResourceList , содержащий список ресурсов адаптера. После передачи этой ссылки драйверу мини-порта драйвер порта может просматривать содержимое списка ресурсов, но не будет изменять содержимое этого списка.

[in] Port

Указатель на объект IPortDMus , предоставляющий интерфейс обратного вызова драйвера порта.

[out] ServiceGroup

Выходной указатель для группы служб. Этот параметр указывает на переменную указателя, выделенную вызывающим объектом, в которую метод записывает указатель на интерфейс IServiceGroup объекта группы служб драйвера мини-порта. Это группа служб, которую драйвер мини-порта хочет использовать для вызовов IPortDMus::Notify.

Возвращаемое значение

Init возвращает S_OK, если вызов выполнен успешно. В противном случае метод возвращает соответствующий код ошибки.

Комментарии

Параметр pUnknownAdapter является необязательным:

  • Если pUnknownAdapter не равно NULL, Init метод запрашивает у объекта pUnknownAdapter интерфейс IInterruptSync .
  • Если pUnknownAdapter имеет значение NULL, Init метод вызывает PcNewInterruptSync для создания нового объекта IInterruptSync . В этом случае список ресурсов, на который указывает pResourceList , предоставляет ресурс прерывания, который использует новый объект IInterruptSync .
В любом случае Init метод и вызывает метод RegisterServiceRoutine для объекта IInterruptSync , чтобы добавить подпрограмму обслуживания прерывания (ISR) драйвера miniport в список ISR. Когда позже драйвер адаптера освобождает объект порта, драйвер порта освобождает ссылку на объект IInterruptSync .

Параметры pUnknownAdapter и pResourceList — это те же значения указателя, которые драйвер адаптера ранее передал в качестве параметров в метод объекта InitIPortDMus (см. раздел IPort::Init).

Параметры pUnknownAdapter, pResourceList, pPort и ppServiceGroup следуют соглашениям о подсчете ссылок для COM-объектов.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dmusicks.h (включая Dmusicks.h)
IRQL PASSIVE_LEVEL

См. также раздел

IInterruptSync

IMiniportDMus

IPort::Init

IPortDMus

IPortDMus::Notify

IResourceList

IServiceGroup

PcNewInterruptSync