newUserClient
Requests a new user client object for this service.
Declaration
virtual IOReturn newUserClient(
task_t task,
void *securityID,
UInt32 type,
IOUserClient **handler);Parameters
- task:
The task requesting the new user client.
- securityID:
Optional security paramater passed in by the client - ignored.
- type:
Optional user client type passed in by the client - ignored.
- handler:
The new IOUserClient * must be stored in this param on a successful completion.
- properties:
A dictionary of additional properties for the connection.
Return Value
Returns kIOReturnSuccess on success. May also result kIOReturnError or kIOReturnNoMemory.
Overview
This function is called automatically by I/O Kit when a user process attempts to connect to this service. It allocates a new IOAudioEngineUserClient object and increments the number of connections for this audio engine. If this is the first user client for this IOAudioEngine, it calls startAudioEngine(). There is no need to call this function directly. A derived class that requires overriding of newUserClient should override the version with the properties parameter for Intel targets, and without the properties parameter for PPC targets. The #if __i386__ directive can be used to select between the two behaviors.
See Also
Miscellaneous
addAudioStreamaddTimerclearAllSampleBuffersclientClosedconvertInputSamplesVBRcreateDictionaryFromSampleRatecreateSampleRateFromDictionaryeraseOutputSamplesfreegetAttributeForConnectiongetCommandGategetCurrentSampleFramegetRunEraseHeadgetSampleRategetStategetStatusgetTimerIntervalgetWorkLoopinitinitHardwareinitKeysperformAudioEngineStartperformAudioEngineStopperformEraseperformFlushregisterServiceremoveTimerresetStatusBuffersetAttributeForConnectionsetClockDomainsetClockIsStablesetInputSampleOffsetsetMixClipOverheadsetOutputSampleOffsetsetRunEraseHeadsetSampleLatencysetSampleRatesetStatestart(IOService *)start(IOService *, IOAudioDevice *)startAudioEnginestopstopAudioEnginetimerCallbacktimerFired