Share via


Método IMiniportMidi::Init (portcls.h)

El Init método inicializa el objeto midi miniport.

Sintaxis

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

Parámetros

[in] UnknownAdapter

Puntero a la interfaz IUnknown del objeto de adaptador cuyo objeto de minipuerto se está inicializando. Este parámetro es opcional y se puede especificar como NULL. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

[in] ResourceList

Puntero a la interfaz IResourceList del objeto de lista de recursos que se va a proporcionar al controlador de miniporte durante la inicialización. Después de pasar esta referencia al controlador de minipuerto, el controlador de puerto puede examinar el contenido de la lista de recursos, pero no modificará el contenido de esta lista. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

[in] Port

Puntero al objeto IPortMidi que está enlazado a este objeto de minipuerto. El llamador especifica un valor de puntero válido que no sea NULL para este parámetro.

[out] ServiceGroup

Puntero de salida para el grupo de servicios. Este parámetro apunta a una variable de puntero asignada por el autor de la llamada en la que el método escribe un puntero en la interfaz IServiceGroup del objeto de grupo de servicios del controlador de minipuerto. Este es el grupo de servicios que se está registrando para la notificación de interrupción. El llamador especifica un valor de puntero válido que no sea NULL para este parámetro.

Valor devuelto

Init devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, el método devuelve un código de error adecuado.

Comentarios

El parámetro UnknownAdapter es opcional:

  • Si UnknownAdapter no es NULL, el Init método consulta el objeto UnknownAdapter para su interfaz IInterruptSync .
  • Si UnknownAdapter es NULL, el Init método llama a PcNewInterruptSync para crear un nuevo objeto IInterruptSync . En este caso, la lista de recursos que ResourceList apunta a proporciona el recurso de interrupción que usa el nuevo objeto IInterruptSync .
En cualquier caso, el Init método y llama al método RegisterServiceRoutine en el objeto IInterruptSync para agregar la rutina de servicio de interrupción (ISR) del controlador de miniporte a la lista de rutinas de sincronización de interrupciones. Cuando el controlador del adaptador libera posteriormente el objeto de puerto, el controlador de puerto libera su referencia al objeto IInterruptSync .

Los parámetros UnknownAdapter y ResourceList son los mismos valores de puntero que el controlador del adaptador pasó anteriormente como parámetros al método Init del objeto IPortMidi (vea IPort::Init).

Los parámetros UnknownAdapter, ResourceList, Port y ServiceGroup siguen las convenciones de recuento de referencias para objetos COM.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado portcls.h (incluir Portcls.h)
IRQL PASSIVE_LEVEL

Consulte también

IInterruptSync

IMiniportMidi

IPort::Init

IPortMidi

IResourceList

IServiceGroup

PcNewInterruptSync