newUserClient
Creates a new user client object for this IOAudioControl instance.
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 - 0 for the default user client type.
- 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 is called automatically by I/O Kit when a user process opens a connection to this IOAudioControl. This is typically done when the user process needs to register for value change notifications. This implementation allocates a new IOAudioControlUserClient object. There is no need to call this 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
addUserClientaddUserClientActionclientClosedcreateUserClient(task_t, void *, UInt32, IOAudioControlUserClient **)createUserClient(task_t, void *, UInt32, IOAudioControlUserClient **, OSDictionary *)detachUserClientsActionflushValuefreegetChannelIDgetCommandGategetControlIDgetIsStartedgetValuegetWorkLoophardwareValueChangedinitperformValueChangeremoveUserClientremoveUserClientActionsendValueChangeNotificationsetChannelIDsetChannelNamesetControlIDsetPropertiessetReadOnlyFlagsetSubType(UInt32)setType(UInt32)setUsagesetValuesetValueActionstartstopupdateValuevalidateValuewithAttributes