Sample Code
Windows Driver Samples/ DirectMusic Software Synthesizer Sample/ C++/ ddksynth.inf/
;; Copyright (c) Microsoft Corporation 1998-2000. All rights reserved. [Version] Signature="$CHICAGO$" Class=MEDIA ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318} provider=%MSFT% DriverVer =02/22/2007,6.00.6000.1 CatalogFile=ddksynth.cat [SourceDisksNames] 222=%DiskDescription%,,, [SourceDisksFiles] ddksynth.sys=222 [Manufacturer] %DDKMfgName%=Microsoft,NTAMD64,NTIA64,NTARM [DefaultInstall] AddReg = WDM_DDKSYNTH.DeviceRegistration ;; Excluding drivers from the "Add New Hardware" list. [ControlFlags] ExcludeFromSelect = * ;; ;;**** GUIDGen your own and place it here. Also put it **** ;;**** below in WDM_DDKSYNTH.DeviceId, and in private.h **** ;; [Microsoft] %WDM_DDKSYNTH.DeviceDesc% = WDM_DDKSYNTH, SW\{820DC38A-1F81-11d3-A82E-0060083316C1} ;; This section enables installing on x64 systems [Microsoft.NTAMD64] %WDM_DDKSYNTH.DeviceDesc% = WDM_DDKSYNTH, SW\{820DC38A-1F81-11d3-A82E-0060083316C1} ;; This section enables installing on Itanium systems [Microsoft.NTIA64] %WDM_DDKSYNTH.DeviceDesc% = WDM_DDKSYNTH, SW\{820DC38A-1F81-11d3-A82E-0060083316C1} ;; This section enables installing on ARM systems [Microsoft.NTARM] %WDM_DDKSYNTH.DeviceDesc% = WDM_DDKSYNTH, SW\{820DC38A-1F81-11d3-A82E-0060083316C1} ;; Destination Directory List [DestinationDirs] WDM_DDKSYNTH.CopyFiles = 10,system32\drivers ; %SystemRoot%\system32\drivers Default.CopyFiles = 10,inf [WDM_DDKSYNTH.CopyFiles] DDKSynth.sys ;; ;; DDKSynth swenum install ;; [WDM_DDKSYNTH.DeviceRegistration] HKLM,%RunOnce%,"WDM_DDKSYNTH0",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_DDKSYNTH.DeviceId%,%KSNAME_DDKSYNTH%,%KSCATEGORY_DATATRANSFORM%,%01%\ddksynth.inf,WDM_DDKSYNTH.Interface.Install" HKLM,%RunOnce%,"WDM_DDKSYNTH1",,"rundll32.exe /N streamci.dll,StreamingDeviceSetup %WDM_DDKSYNTH.DeviceId%,%KSNAME_DDKSYNTH%,%KSCATEGORY_SYNTHESIZER%,%01%\ddksynth.inf,WDM_DDKSYNTH.Interface.Install" HKLM,%RunOnce%,"WDM_DDKSYNTH2",,"rundll32.exe /N streamci.dll,StreamingDeviceSetup %WDM_DDKSYNTH.DeviceId%,%KSNAME_DDKSYNTH%,%KSCATEGORY_AUDIO%,%01%\ddksynth.inf,WDM_DDKSYNTH.Interface.Install" HKLM,%MediaCategories%\%WDM_DDKSYNTH.GUID%,Name,,%WDM_DDKSYNTH.Pin% HKLM,%MediaCategories%\%WDM_DDKSYNTH.GUID%,Display,1,00,00,00,00 [WDM_DDKSYNTH.Interface.Install] AddReg=WDM_DDKSYNTH.Interface.AddReg [WDM_DDKSYNTH.Interface.AddReg] HKR,,CLSID,,%Proxy.CLSID% HKR,,FriendlyName,,%WDM_DDKSYNTH.FriendlyName% ;;**************** 9x Specific **************** ;; ;; DDKSynth Install ;; [WDM_DDKSYNTH] ;;AlsoInstall=KS.Registration(ks.inf), WDM.AddReg.Install(wdmaudio.inf) AlsoInstall=KS.Registration(ks.inf) CopyFiles = WDM_DDKSYNTH.CopyFiles AddReg=WDM_DDKSYNTH.AddReg [WDM_DDKSYNTH.AddReg] HKR,,DevLoader,,*NTKERN HKR,,NTMPDriver,,ddksynth.sys [WDM_DDKSYNTH.Services] AddService = DDKSynth, 0x00000002, DDKSynth_Service_Inst [DDKSynth_Service_Inst] DisplayName = %WDM_DDKSYNTH.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\system32\drivers\DDKSynth.sys ;;**************** NT Specific **************** ;; ;; DDKSynth Install ;; [WDM_DDKSYNTH.NT] Include=ks.inf, wdmaudio.inf Needs=KS.Registration, WDMAUDIO.Registration CopyFiles = WDM_DDKSYNTH.CopyFiles AddReg=WDM_DDKSYNTH.DeviceRegistration [WDM_DDKSYNTH.NT.Services] AddService = DDKSynth, 0x00000002, DDKSynth_Service_Inst [Strings] MSFT="Microsoft" DDKMfgName="DDK Sample Inc." DiskDescription="DDK Sample" RunOnce = "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" Proxy.CLSID = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}" KSNAME_Filter = "{9B365890-165F-11D0-A195-0020AFD156E4}" KSNAME_DDKSYNTH = "DDKSynth" KSCATEGORY_DATATRANSFORM = "{2EB07EA0-7E70-11D0-A5D6-28DB04C10000}" KSCATEGORY_SYNTHESIZER = "{DFF220F3-F70F-11D0-B917-00A0C9223196}" KSCATEGORY_AUDIO = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}" ;Non-localized strings MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories" ;; ;;Name shows in mmsys.cpl if your synth is KSDATAFORMAT_SUBTYPE_MIDI ;;(KSCATEGORY_WDMAUD_USE_PIN_NAME forces this, otherwise name would ;;be the same as the waveOut device name) ;; WDM_DDKSYNTH.Pin="Microsoft DDK DLS Synth" ;; ;;**** GUIDGen your own and place it here. Also put it **** ;;**** above in WDM_DDKSYNTH.DeviceDesc and in private.h **** ;; WDM_DDKSYNTH.DeviceId = "{820DC38A-1F81-11d3-A82E-0060083316C1}" ;; ;;**** GUIDGen your own. Place it here and in private.h **** ;; WDM_DDKSYNTH.GUID = "{D2D37597-A312-434C-A2DD-2B4C32E6658A}" WDM_DDKSYNTH.DeviceDesc = " Ha1 Microsoft DDK Synthesizer" WDM_DDKSYNTH.FriendlyName = " Friendly Name - Microsoft DDK Synthesizer" WDM_DDKSYNTH.SvcDesc = " Ha3 Microsoft DDK Synthesizer"
Our Services
-
What our customers say about us?
Read our customer testimonials to find out why our clients keep returning for their projects.
View Testimonials