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 .
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 |