Share via


Método IPortDMus::RegisterServiceGroup (dmusicks.h)

El RegisterServiceGroup método registra un grupo de servicios con el controlador de puerto DMus.

Sintaxis

void RegisterServiceGroup(
  [in] PSERVICEGROUP ServiceGroup
);

Parámetros

[in] ServiceGroup

Puntero a un objeto IServiceGroup . Este es el grupo de servicios que se va a registrar.

Valor devuelto

None

Observaciones

El controlador de minipuerto llama al RegisterServiceGroup método para registrar un grupo de servicios (objeto IServiceGroup ) con el controlador de puerto. El controlador de puerto puede insertar uno o varios de sus receptores de servicio (objetos IServiceSink ) en este grupo de servicios. El controlador de minipuerto envía una notificación (llamando a IPortDMus::Notify) al grupo de servicios cada vez que se produce una interrupción. Tras recibir una notificación, el grupo de servicios programa una llamada a procedimiento diferida (DPC). El DPC recorre en iteración todos los receptores de servicio del grupo de servicios y envía una notificación a cada uno.

El controlador de minipuerto normalmente llama a RegisterServiceSink durante la ejecución de su método IMiniportDMus::Init . El propósito de esta llamada es registrar el grupo de servicios con el controlador de puerto lo suficientemente pronto como para empezar a controlar las interrupciones tan pronto como estén habilitadas. Tenga en cuenta que el grupo de servicios que el método Init genera no está disponible para el controlador de puerto hasta después de la devolución del método Init .

Si el controlador de minipuerto llama RegisterServiceSinka , el grupo de servicios que pasa el RegisterServiceSink controlador de minipuerto al método debe ser el mismo que el controlador de minipuerto genera a través de su método Init .

Un controlador de minipuerto típico no tiene más necesidad de llamar RegisterServiceSink una vez que se ha producido el retorno de IMiniportDMus::Init .

Vea el controlador de audio de ejemplo DMusUART en el Kit de controladores de Microsoft Windows (WDK) para obtener un ejemplo de código que muestra cómo llama RegisterServiceSink el controlador de miniporte desde su método IMiniportDMus::Init .

El parámetro pServiceGroup sigue las convenciones de recuento de referencias para objetos COM.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dmusicks.h (incluye Dmusicks.h)
IRQL PASSIVE_LEVEL

Consulte también

IMiniportDMus::Init

IPortDMus

IPortDMus::Notify

IServiceGroup

IServiceSink