The Windows Audio service runs one or several RPC services, avalailable on the following endpoints:
In Windows Server 2003, the version of the AudioSrv interface is 1.0:
Y:\>ifids -p ncalrpc -e AudioSrv serveur Interfaces: 40 [...] 3faf4738-3a21-4307-b46c-fdda9bb8c0d5 v1.0 [...]
Table 4.105. AudioSrv operations
| Interface | Operation number | Operation name |
|---|---|---|
| 3faf4738-3a21-4307-b46c-fdda9bb8c0d5 v1.0: AudioSrv | ||
| 0x00 | gfxCreateZoneFactoriesList | |
| 0x01 | gfxCreateGfxFactoriesList | |
| 0x02 | gfxCreateGfxList | |
| 0x03 | gfxRemoveGfx | |
| 0x04 | gfxAddGfx | |
| 0x05 | gfxModifyGx | |
| 0x06 | gfxOpenGfx | |
| 0x07 | gfxLogon | |
| 0x08 | gfxLogoff | |
| 0x09 | winmmRegisterSessionNotificationEvent | |
| 0x0a | winmmUnregisterSessionNotification | |
| 0x0b | winmmSessionConnectState | |
| 0x0c | wdmDriverOpenDrvRegKey | |
| 0x0d | winmmAdvisePreferredDeviceChange | |
| 0x0e | winmmGetPnpInfo |
In Windows XP SP2 and >, the version of the AudioSrv interface is 1.1:
Table 4.106. AudioSrv operations
| Interface | Operation number | Operation name |
|---|---|---|
| 3faf4738-3a21-4307-b46c-fdda9bb8c0d5 v1.1: AudioSrv | ||
| 0x00 | gfxCreateZoneFactoriesList | |
| 0x01 | gfxCreateGfxFactoriesList | |
| 0x02 | gfxCreateGfxList | |
| 0x03 | gfxRemoveGfx | |
| 0x04 | gfxAddGfx | |
| 0x05 | gfxModifyGx | |
| 0x06 | gfxOpenGfx | |
| 0x07 | gfxLogon | |
| 0x08 | gfxLogoff | |
| 0x09 | wdmDriverOpenDrvRegKey | |
| 0x0a | winmmAdvisePreferredDeviceChange | |
| 0x0b | winmmGetPnpInfo |
In Windows Vista, the AudioSrv interface (version 1.1) supports fewer operations. A new interface, AudioRpc, supports more operations:
Y:\>ifids -p ncalrpc -e AudioClientRpc vista Interfaces: 9 c386ca3e-9061-4a72-821e-498d83be188f v1.1 3faf4738-3a21-4307-b46c-fdda9bb8c0d5 v1.1 [...]
Table 4.107. AudioRpc operations
| Interface | Operation number | Operation name |
|---|---|---|
| c386ca3e-9061-4a72-821e-498d83be188f v1.1: AudioRpc | ||
| 0x00 | AudioServerConnect | |
| 0x01 | AudioServerDisconnect | |
| 0x02 | AudioServerInitialize | |
| 0x03 | AudioServerGetAudioSession | |
| 0x04 | AudioServerCreateStream | |
| 0x05 | AudioServerDestroyStream | |
| 0x06 | AudioServerGetStreamLatency | |
| 0x07 | AudioServerGetMixFormat | |
| 0x08 | AudioServerIsFormatSupported | |
| 0x09 | AudioServerGetDevicePeriod | |
| 0x0a | AudioVolumeGetMasterVolumeLevelScalar | |
| 0x0b | AudioSessionGetProcessId | |
| 0x0c | AudioSessionGetState | |
| 0x0d | AudioSessionGetLastActivation | |
| 0x0e | AudioSessionGetLastInactivation | |
| 0x0f | AudioSessionIsSystemSoundsSession | |
| 0x10 | AudioSessionGetDisplayName | |
| 0x11 | AudioSessionSetDisplayName | |
| 0x12 | AudioSessionGetSessionClass | |
| 0x13 | AudioSessionSetSessionClass | |
| 0x14 | AudioSessionGetVolume | |
| 0x15 | AudioSessionSetVolume | |
| 0x16 | AudioSessionGetMute | |
| 0x17 | AudioSessionSetMute | |
| 0x18 | AudioSessionGetChannelCount | |
| 0x19 | AudioSessionSetChannelVolume | |
| 0x1a | AudioSessionGetChannelVolume | |
| 0x1b | AudioSessionSetAllVolumes | |
| 0x1c | AudioSessionGetAllVolumes | |
| 0x1d | AudioServerDisconnect | |
| 0x1e | AudioServerGetMixFormat | |
| 0x1f | PolicyConfigGetDeviceFormat | |
| 0x20 | PolicyConfigSetDeviceFormat | |
| 0x21 | AudioServerGetDevicePeriod | |
| 0x22 | PolicyConfigSetProcessingPeriod | |
| 0x23 | PolicyConfigGetShareMode | |
| 0x24 | PolicyConfigSetShareMode | |
| 0x25 | GetAudioSessionManager | |
| 0x26 | AudioSessionManagerDestroy | |
| 0x27 | AudioSessionManagerGetAudioSession | |
| 0x28 | AudioSessionManagerGetCurrentSession | |
| 0x29 | AudioSessionManagerGetExistingSession | |
| 0x2a | AudioSessionManagerAddAudioSessionClientNotification | |
| 0x2b | AudioSessionManagerDeleteAudioSessionClientNotification | |
| 0x2c | AudioSessionManagerAddAudioSessionClientNotification | |
| 0x2d | AudioVolumeConnect | |
| 0x2e | AudioVolumeDisconnect | |
| 0x2f | AudioVolumeGetChannelCount | |
| 0x30 | AudioVolumeSetMasterVolumeLevel | |
| 0x31 | AudioVolumeSetMasterVolumeLevelScalar | |
| 0x32 | AudioVolumeGetMasterVolumeLevel | |
| 0x33 | AudioVolumeGetMasterVolumeLevelScalar | |
| 0x34 | AudioVolumeSetChannelVolumeLevel | |
| 0x35 | AudioVolumeSetChannelVolumeLevelScalar | |
| 0x36 | AudioVolumeGetChannelVolumeLevel | |
| 0x37 | AudioVolumeGetChannelVolumeLevelScalar | |
| 0x38 | AudioVolumeSetMute | |
| 0x39 | AudioSessionGetDisplayName | |
| 0x3a | AudioVolumeAddMasterVolumeNotification | |
| 0x3b | AudioVolumeDeleteMasterVolumeNotification | |
| 0x3c | AudioMeterGetAverageRMS | |
| 0x3d | AudioMeterGetChannelsRMS | |
| 0x3e | AudioMeterGetPeakValue | |
| 0x3f | AudioMeterGetChannelsPeakValues | |
| 0x40 | AudioVolumeGetStepInfo | |
| 0x41 | AudioVolumeStepUp | |
| 0x42 | AudioVolumeStepDown |