IPortDMus::RegisterServiceGroup method (dmusicks.h)
The RegisterServiceGroup
method registers a service group with the DMus port driver.
Syntax
void RegisterServiceGroup(
[in] PSERVICEGROUP ServiceGroup
);
Parameters
[in] ServiceGroup
Pointer to an IServiceGroup object. This is the service group that is to be registered.
Return value
None
Remarks
The miniport driver calls the RegisterServiceGroup
method to register a service group (IServiceGroup object) with the port driver. The port driver can insert one or more of its service sinks (IServiceSink objects) into this service group. The miniport driver sends notification (by calling IPortDMus::Notify) to the service group each time an interrupt occurs. Upon receiving notification, the service group schedules a deferred procedure call (DPC). The DPC iterates through all of the service sinks in the service group and sends notification to each.
The miniport driver typically calls RegisterServiceSink during the execution of its IMiniportDMus::Init method. The purpose of this call is to register the service group with the port driver early enough to begin handling interrupts just as soon as they are enabled. Note that the service group that the Init method outputs is not available to the port driver until after the return from the Init method.
If the miniport driver calls RegisterServiceSink
, the service group that the miniport driver passes to the RegisterServiceSink
method should be the same one that the miniport driver outputs through its Init method.
A typical miniport driver has no further need to call RegisterServiceSink
once the return from IMiniportDMus::Init has occurred.
See the DMusUART sample audio driver in the Microsoft Windows Driver Kit (WDK) for a code example that shows how the miniport driver calls RegisterServiceSink
from within its IMiniportDMus::Init method.
The pServiceGroup parameter follows the reference-counting conventions for COM objects.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | dmusicks.h (include Dmusicks.h) |
IRQL | PASSIVE_LEVEL |
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for