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


Метод IPort::Init (portcls.h)

Метод Init инициализирует драйвер порта.

Синтаксис

NTSTATUS Init(
  PVOID         DeviceObject,
  PVOID         Irp,
  PUNKNOWN      UnknownMiniport,
  PUNKNOWN      UnknownAdapter,
  PRESOURCELIST ResourceList
);

Параметры

DeviceObject

Указатель на объект устройства, переданный в качестве аргумента для процедуры запуска устройства драйвера адаптера. Объект устройства — это системная структура типа DEVICE_OBJECT.

Irp

Указатель на IRP, переданный в качестве аргумента для процедуры запуска устройства драйвера адаптера.

UnknownMiniport

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

UnknownAdapter

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

ResourceList

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

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

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

Комментарии

Объект miniport, указанный в UnknownMiniport, должен поддерживать интерфейс мини-порта, необходимый драйверу порта, в противном случае вызов Init завершится ошибкой.

Во время вызова IPort::Init драйвер порта вызывает метод инициализации драйвера miniport (например, см . раздел IMiniportWavePci::Init).

Параметр UnknownAdapter указывает на COM-интерфейс объекта адаптера. Драйвер адаптера обычно создает этот объект в рамках процедуры запуска устройства, которая является подпрограммой, которую операционная система вызывает для запуска устройства (см. последовательность запуска). Пример интерфейса для объекта адаптера см. в определении CMiniportWaveRT::Init и реализации в примере драйвера sysvad audio.

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

Требования

Требование Значение
Заголовок portcls.h
IRQL PASSIVE_LEVEL

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

IPort

IMiniportWavePci::Init