Метод IMiniportMidi::Init (portcls.h)
Метод Init
инициализирует объект miniport MIDI.
Синтаксис
NTSTATUS Init(
[in] PUNKNOWN UnknownAdapter,
[in] PRESOURCELIST ResourceList,
[in] PPORTMIDI Port,
[out] PSERVICEGROUP *ServiceGroup
);
Параметры
[in] UnknownAdapter
Указатель на интерфейс IUnknown объекта адаптера, для которого выполняется инициализация объекта miniport. Этот параметр является необязательным и может быть указан как NULL. Дополнительные сведения см. в разделе "Примечания".
[in] ResourceList
Указатель на интерфейс IResourceList объекта списка ресурсов, который должен быть предоставлен драйверу miniport во время инициализации. После передачи этой ссылки драйверу мини-порта драйвер порта может изучить содержимое списка ресурсов, но не будет изменять содержимое этого списка. Дополнительные сведения см. в разделе "Примечания".
[in] Port
Указатель на объект IPortMidi , привязанный к этому объекту miniport. Вызывающий объект задает допустимое значение указателя, отличное от NULL , для этого параметра.
[out] ServiceGroup
Указатель вывода для группы служб. Этот параметр указывает на выделенную вызывающим объектом переменную указателя, в которую метод записывает указатель на интерфейс IServiceGroup объекта группы служб драйвера мини-порта. Это группа служб, которая регистрируется для уведомления о прерывании. Вызывающий объект задает допустимое значение указателя, отличное от NULL , для этого параметра.
Возвращаемое значение
Init
возвращает STATUS_SUCCESS, если вызов был успешным. В противном случае метод возвращает соответствующий код ошибки.
Комментарии
Параметр UnknownAdapter является необязательным:
-
Если значение UnknownAdapter не равно NULL,
Init
метод запрашивает у объекта UnknownAdapter интерфейс IInterruptSync . -
Если unknownAdapter имеет значение NULL,
Init
метод вызывает PcNewInterruptSync для создания нового объекта IInterruptSync . В этом случае список ресурсов, на который указывает ResourceList , предоставляет ресурс прерывания, который использует новый объект IInterruptSync .
Init
чтобы добавить подпрограмму обслуживания прерываний (ISR) драйвера miniport в список процедур синхронизации прерываний. Когда позже драйвер адаптера освобождает объект порта, драйвер порта освобождает ссылку на объект IInterruptSync .
Параметры UnknownAdapter и ResourceList — это те же значения указателя, которые драйвер адаптера ранее передал в качестве параметров методу Init объекта IPortMidi (см. раздел IPort::Init).
Параметры UnknownAdapter, ResourceList, Port и ServiceGroup следуют соглашениям о подсчете ссылок для COM-объектов.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | portcls.h (включая Portcls.h) |
IRQL | PASSIVE_LEVEL |