Annotation of ntddk/src/mmedia/synth/driver/config.c, revision 1.1.1.1

1.1       root        1: /*++
                      2: 
                      3: Copyright (c) 1993  Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:     config.c
                      8: 
                      9: Abstract:
                     10: 
                     11:     This module contains code configuration code for the initialization phase
                     12:     of the Microsoft midi synth device driver.
                     13: 
                     14: Author:
                     15: 
                     16:     Robin Speed (RobinSp) 17-Oct-1992
                     17: 
                     18: Environment:
                     19: 
                     20:     Kernel mode
                     21: 
                     22: Revision History:
                     23: 
                     24: --*/
                     25: 
                     26: 
                     27: #include "sound.h"
                     28: #include <string.h>
                     29: 
                     30: 
                     31: 
                     32: 
                     33: 
                     34: VOID
                     35: SoundSaveVolume(
                     36:     PGLOBAL_DEVICE_INFO pGDI
                     37: )
                     38: {
                     39:     //
                     40:     // Write out left and right volume settings for each device
                     41:     //
                     42: 
                     43:     int i;
                     44:     for (i = 0; i < NumberOfDevices; i++) {
                     45:     if (pGDI->DeviceObject[i])  {
                     46:         PLOCAL_DEVICE_INFO pLDI;
                     47: 
                     48:         pLDI = (PLOCAL_DEVICE_INFO)pGDI->DeviceObject[i]->DeviceExtension;
                     49: 
                     50:         SoundSaveDeviceVolume(pLDI, pGDI->RegistryPathName);
                     51:     }
                     52:     }
                     53:     SoundFlushRegistryKey(pGDI->RegistryPathName);
                     54: }
                     55: 
                     56: 
                     57: 
                     58: NTSTATUS
                     59: SoundReadConfiguration(
                     60:     IN  PWSTR ValueName,
                     61:     IN  ULONG ValueType,
                     62:     IN  PVOID ValueData,
                     63:     IN  ULONG ValueLength,
                     64:     IN  PVOID Context,
                     65:     IN  PVOID EntryContext
                     66: )
                     67: /*++
                     68: 
                     69: Routine Description :
                     70: 
                     71:     Return configuration information for our device
                     72: 
                     73: Arguments :
                     74: 
                     75:     ConfigData - where to store the result
                     76: 
                     77: Return Value :
                     78: 
                     79:     NT status code - STATUS_SUCCESS if no problems
                     80: 
                     81: --*/
                     82: {
                     83:     PSOUND_CONFIG_DATA ConfigData;
                     84: 
                     85:     ConfigData = Context;
                     86: 
                     87:     if (ValueType == REG_DWORD) {
                     88: 
                     89:         int i;
                     90:     
                     91:         for (i = 0; i < NumberOfDevices; i++) {
                     92:             if (DeviceInit[i].LeftVolumeName != NULL &&
                     93:             wcsicmp(ValueName, DeviceInit[i].LeftVolumeName) == 0) {
                     94:                 ConfigData->Volume[i].Left = *(PULONG)ValueData;
                     95:         
                     96:                 dprintf3(("%ls = %8X", DeviceInit[i].LeftVolumeName,
                     97:                       ConfigData->Volume[i].Left));
                     98:             }
                     99:             if (DeviceInit[i].RightVolumeName != NULL &&
                    100:                 wcsicmp(ValueName, DeviceInit[i].RightVolumeName) == 0) {
                    101:                 ConfigData->Volume[i].Right = *(PULONG)ValueData;
                    102:         
                    103:                 dprintf3(("%ls = %8X", DeviceInit[i].RightVolumeName,
                    104:                       ConfigData->Volume[i].Right));
                    105:             }
                    106:         }
                    107: 
                    108:     }
                    109:     return STATUS_SUCCESS;
                    110: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.