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


Метод 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) в список isR. Когда драйвер адаптера позже освобождает объект порта, драйвер порта освобождает ссылку на объект IInterruptSync.

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

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка dmusicks.h (include Dmusicks.h)
IRQL PASSIVE_LEVEL

См. также

IInterruptSync

IMiniportDMus

IPort::Init

IPortDMus

IPortDMus::Notify

IResourceList

IServiceGroup

PcNewInterruptSync