Hi again, like I wrote before, I have taken the filter & pin defines from the DMusUART sample unchanged, but unfortunately these don't seem to work (they also don't work if I use the my driver in "non-dynamic"-mode, creating a single subdevice from the defines in the inf-file. I have attached the properties that the KsStudio application has read from my driver and also my inf-file. Perhaps someone has an idea what is going wrong... Best regards, Tobias -------- Original-Nachricht -------- > Datum: Mon, 13 Apr 2009 22:15:24 +0200 > Von: "Tobias Erichsen" <t.erichsen@xxxxxx> > An: wdmaudiodev@xxxxxxxxxxxxx > Betreff: [wdmaudiodev] Re: Generic Virtual MIDI-driver... > Hi everyone, > > I have done a good bit of digging into the depths of PortCls > over the weekend and also thanks to Jeff I have been able > to get a good way towards a completely virtual MIDI-port-driver > with dynamic friendly-names. > > I have succeeded in creating my private interface by hooking > the major-functions in the DriverEntry. > > I have also been able to use this private interface to create > my own virtual subdevices (and also to destroy them again). > > I have also been able to send data (KSCATEGORY_RENDER) > from a standard-MIDI-capable application towards my private > interface. > > So far so good. I still have one piece left which I currently > don't seem to get going: > > Every time when I try to instanciate the capture-pin of my > Miniport (KSCATEGORY_CAPTURE), it fails. > > In my debug-log I see that the new stream is being created, > that the init-function is called, and the ::ConnectOutput > method is being called. Unfortunately directly afterwards > the ::DisconnectOutput-method of the stream is called again > and the stream is destroyed... > > I currently have no idea what the problem is. > > I have tried to instanciate the capture-pin via KS Studio, > it also fails and I have attached the logfiles from both > instanciating the filter & the pin in this email. > > If someone could take a look at those files and give me > a hint, I would be really grateful. > > Best regards, > Tobias > > PS.: The driver is loosely based on DMusUART and MPU401, > so I have not changed any of the filter & pin-stuff > from those samples... > -- > Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: > http://www.gmx.net/de/go/multimessenger01 -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger01
+MyMIDI: Instance 0x000000DC +Pin Factories (5) +Pin Factory 0 - MIDI +Interfaces (1) -<KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING> +Mediums (1) -<KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD(0)> +Data Range (KSDATARANGE_MUSIC) +DataRange = ... -FormatSize = 96 (0x00000060) -Flags = 0 (0x00000000) -SampleSize = 0 (0x00000000) -Reserved = 0 (0x00000000) +MajorFormat = KSDATAFORMAT_TYPE_MUSIC -Data1 = 3878015840 (0xe725d360) -Data2 = 25292 (0x62cc) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +SubFormat = KSDATAFORMAT_SUBTYPE_MIDI -Data1 = 489039712 (0x1d262760) -Data2 = 59735 (0xe957) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +Specifier = KSDATAFORMAT_SPECIFIER_NONE -Data1 = 258217942 (0x0f6417d6) -Data2 = 49944 (0xc318) -Data3 = 4560 (0x11d0) -Data4[0] = 164 (0xa4) -Data4[1] = 63 (0x3f) -Data4[2] = 0 (0x00) -Data4[3] = 160 (0xa0) -Data4[4] = 201 (0xc9) -Data4[5] = 34 (0x22) -Data4[6] = 49 (0x31) -Data4[7] = 150 (0x96) +Technology = KSMUSIC_TECHNOLOGY_PORT -Data1 = 2261331552 (0x86c92e60) -Data2 = 25320 (0x62e8) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Channels = 0 (0x00000000) -Notes = 0 (0x00000000) -ChannelMask = 65535 (0x0000ffff) -Constrained Data Ranges (0) -Data Flow = KSPIN_DATAFLOW_IN -Communication = KSPIN_COMMUNICATION_SINK -Category = KSCATEGORY_AUDIO +Instance Data +KSPROPERTY_PIN_CINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 1 (0x00000001) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_GLOBALCINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 1 (0x00000001) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_NECESSARYINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -0 (0x00000000) +PhysicalConnection -Not available +Pin Factory 1 - Data input, IRP sink (no friendly name) +Interfaces (1) -<KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING> +Mediums (1) -<KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD(0)> +Data Range (KSDATARANGE_MUSIC) +DataRange = ... -FormatSize = 96 (0x00000060) -Flags = 0 (0x00000000) -SampleSize = 0 (0x00000000) -Reserved = 0 (0x00000000) +MajorFormat = KSDATAFORMAT_TYPE_MUSIC -Data1 = 3878015840 (0xe725d360) -Data2 = 25292 (0x62cc) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +SubFormat = {1a82f8bc-3f8b-11d2-b774-0060083316c1} -Data1 = 444790972 (0x1a82f8bc) -Data2 = 16267 (0x3f8b) -Data3 = 4562 (0x11d2) -Data4[0] = 183 (0xb7) -Data4[1] = 116 (0x74) -Data4[2] = 0 (0x00) -Data4[3] = 96 (0x60) -Data4[4] = 8 (0x08) -Data4[5] = 51 (0x33) -Data4[6] = 22 (0x16) -Data4[7] = 193 (0xc1) +Specifier = KSDATAFORMAT_SPECIFIER_NONE -Data1 = 258217942 (0x0f6417d6) -Data2 = 49944 (0xc318) -Data3 = 4560 (0x11d0) -Data4[0] = 164 (0xa4) -Data4[1] = 63 (0x3f) -Data4[2] = 0 (0x00) -Data4[3] = 160 (0xa0) -Data4[4] = 201 (0xc9) -Data4[5] = 34 (0x22) -Data4[6] = 49 (0x31) -Data4[7] = 150 (0x96) +Technology = KSMUSIC_TECHNOLOGY_PORT -Data1 = 2261331552 (0x86c92e60) -Data2 = 25320 (0x62e8) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Channels = 0 (0x00000000) -Notes = 0 (0x00000000) -ChannelMask = 65535 (0x0000ffff) -Constrained Data Ranges (0) -Data Flow = KSPIN_DATAFLOW_IN -Communication = KSPIN_COMMUNICATION_SINK -Category = KSCATEGORY_AUDIO +Instance Data +KSPROPERTY_PIN_CINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 1 (0x00000001) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_GLOBALCINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 1 (0x00000001) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_NECESSARYINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -0 (0x00000000) +PhysicalConnection -Not available +Pin Factory 2 - Data output, IRP none (no friendly name) +Interfaces (1) -<KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING> +Mediums (1) -<KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD(0)> +Data Range (KSDATARANGE) -FormatSize = 64 (0x00000040) -Flags = 0 (0x00000000) -SampleSize = 0 (0x00000000) -Reserved = 0 (0x00000000) +MajorFormat = KSDATAFORMAT_TYPE_MUSIC -Data1 = 3878015840 (0xe725d360) -Data2 = 25292 (0x62cc) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +SubFormat = KSDATAFORMAT_SUBTYPE_MIDI_BUS -Data1 = 748773280 (0x2ca15fa0) -Data2 = 27902 (0x6cfe) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +Specifier = KSDATAFORMAT_SPECIFIER_NONE -Data1 = 258217942 (0x0f6417d6) -Data2 = 49944 (0xc318) -Data3 = 4560 (0x11d0) -Data4[0] = 164 (0xa4) -Data4[1] = 63 (0x3f) -Data4[2] = 0 (0x00) -Data4[3] = 160 (0xa0) -Data4[4] = 201 (0xc9) -Data4[5] = 34 (0x22) -Data4[6] = 49 (0x31) -Data4[7] = 150 (0x96) -Constrained Data Ranges (0) -Data Flow = KSPIN_DATAFLOW_OUT -Communication = KSPIN_COMMUNICATION_NONE -Category = KSCATEGORY_AUDIO +Instance Data +KSPROPERTY_PIN_CINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 0 (0x00000000) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_GLOBALCINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 0 (0x00000000) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_NECESSARYINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -0 (0x00000000) +PhysicalConnection -Not available +Pin Factory 3 - Data input, IRP none (no friendly name) +Interfaces (1) -<KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING> +Mediums (1) -<KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD(0)> +Data Range (KSDATARANGE) -FormatSize = 64 (0x00000040) -Flags = 0 (0x00000000) -SampleSize = 0 (0x00000000) -Reserved = 0 (0x00000000) +MajorFormat = KSDATAFORMAT_TYPE_MUSIC -Data1 = 3878015840 (0xe725d360) -Data2 = 25292 (0x62cc) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +SubFormat = KSDATAFORMAT_SUBTYPE_MIDI_BUS -Data1 = 748773280 (0x2ca15fa0) -Data2 = 27902 (0x6cfe) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +Specifier = KSDATAFORMAT_SPECIFIER_NONE -Data1 = 258217942 (0x0f6417d6) -Data2 = 49944 (0xc318) -Data3 = 4560 (0x11d0) -Data4[0] = 164 (0xa4) -Data4[1] = 63 (0x3f) -Data4[2] = 0 (0x00) -Data4[3] = 160 (0xa0) -Data4[4] = 201 (0xc9) -Data4[5] = 34 (0x22) -Data4[6] = 49 (0x31) -Data4[7] = 150 (0x96) -Constrained Data Ranges (0) -Data Flow = KSPIN_DATAFLOW_IN -Communication = KSPIN_COMMUNICATION_NONE -Category = KSCATEGORY_AUDIO +Instance Data +KSPROPERTY_PIN_CINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 0 (0x00000000) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_GLOBALCINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 0 (0x00000000) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_NECESSARYINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -0 (0x00000000) +PhysicalConnection -Not available +Pin Factory 4 - Data output, IRP sink (no friendly name) +Interfaces (1) -<KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING> +Mediums (1) -<KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD(0)> +Data Ranges (2) +Data Range 0 (KSDATARANGE_MUSIC) +DataRange = ... -FormatSize = 96 (0x00000060) -Flags = 0 (0x00000000) -SampleSize = 0 (0x00000000) -Reserved = 0 (0x00000000) +MajorFormat = KSDATAFORMAT_TYPE_MUSIC -Data1 = 3878015840 (0xe725d360) -Data2 = 25292 (0x62cc) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +SubFormat = KSDATAFORMAT_SUBTYPE_MIDI -Data1 = 489039712 (0x1d262760) -Data2 = 59735 (0xe957) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +Specifier = KSDATAFORMAT_SPECIFIER_NONE -Data1 = 258217942 (0x0f6417d6) -Data2 = 49944 (0xc318) -Data3 = 4560 (0x11d0) -Data4[0] = 164 (0xa4) -Data4[1] = 63 (0x3f) -Data4[2] = 0 (0x00) -Data4[3] = 160 (0xa0) -Data4[4] = 201 (0xc9) -Data4[5] = 34 (0x22) -Data4[6] = 49 (0x31) -Data4[7] = 150 (0x96) +Technology = KSMUSIC_TECHNOLOGY_PORT -Data1 = 2261331552 (0x86c92e60) -Data2 = 25320 (0x62e8) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Channels = 0 (0x00000000) -Notes = 0 (0x00000000) -ChannelMask = 65535 (0x0000ffff) +Data Range 1 (KSDATARANGE_MUSIC) +DataRange = ... -FormatSize = 96 (0x00000060) -Flags = 0 (0x00000000) -SampleSize = 0 (0x00000000) -Reserved = 0 (0x00000000) +MajorFormat = KSDATAFORMAT_TYPE_MUSIC -Data1 = 3878015840 (0xe725d360) -Data2 = 25292 (0x62cc) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) +SubFormat = {1a82f8bc-3f8b-11d2-b774-0060083316c1} -Data1 = 444790972 (0x1a82f8bc) -Data2 = 16267 (0x3f8b) -Data3 = 4562 (0x11d2) -Data4[0] = 183 (0xb7) -Data4[1] = 116 (0x74) -Data4[2] = 0 (0x00) -Data4[3] = 96 (0x60) -Data4[4] = 8 (0x08) -Data4[5] = 51 (0x33) -Data4[6] = 22 (0x16) -Data4[7] = 193 (0xc1) +Specifier = KSDATAFORMAT_SPECIFIER_NONE -Data1 = 258217942 (0x0f6417d6) -Data2 = 49944 (0xc318) -Data3 = 4560 (0x11d0) -Data4[0] = 164 (0xa4) -Data4[1] = 63 (0x3f) -Data4[2] = 0 (0x00) -Data4[3] = 160 (0xa0) -Data4[4] = 201 (0xc9) -Data4[5] = 34 (0x22) -Data4[6] = 49 (0x31) -Data4[7] = 150 (0x96) +Technology = KSMUSIC_TECHNOLOGY_PORT -Data1 = 2261331552 (0x86c92e60) -Data2 = 25320 (0x62e8) -Data3 = 4559 (0x11cf) -Data4[0] = 165 (0xa5) -Data4[1] = 214 (0xd6) -Data4[2] = 40 (0x28) -Data4[3] = 219 (0xdb) -Data4[4] = 4 (0x04) -Data4[5] = 193 (0xc1) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Channels = 0 (0x00000000) -Notes = 0 (0x00000000) -ChannelMask = 65535 (0x0000ffff) -Constrained Data Ranges (0) -Data Flow = KSPIN_DATAFLOW_OUT -Communication = KSPIN_COMMUNICATION_SINK -Category = KSCATEGORY_AUDIO +Instance Data +KSPROPERTY_PIN_CINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 1 (0x00000001) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_GLOBALCINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -PossibleCount = 1 (0x00000001) -CurrentCount = 0 (0x00000000) +KSPROPERTY_PIN_NECESSARYINSTANCES +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -0 (0x00000000) +PhysicalConnection -Not available +Nodes (2) +(0) KSCATEGORY_SYNTHESIZER (Synthesizer) +KSPROPSETID_SynthClock -KSPROPERTY_SYNTH_MASTERCLOCK +(1) KSCATEGORY_SYNTHESIZER (Synthesizer) +KSPROPSETID_SynthClock -KSPROPERTY_SYNTH_MASTERCLOCK +Connections (5) -Filter pin [0] --> Filter pin [2] -Filter pin [1] --> node [0] , pin [1] -node [0] , pin [0] --> Filter pin [2] -Filter pin [3] --> node [1] , pin [1] -node [1] , pin [0] --> Filter pin [4] +Misc. Supported PropertySets (2) +KSPROPSETID_SynthClock +KSPROPERTY_SYNTH_MASTERCLOCK +Description (KSPROPERTY_DESCRIPTION) -AccessFlags = 1 (0x00000001) -DescriptionSize = 40 (0x00000028) +PropTypeSet = <GUID_NULL (00000000-0000-0000-0000-000000000000), 0> +Set = GUID_NULL (00000000-0000-0000-0000-000000000000) -Data1 = 0 (0x00000000) -Data2 = 0 (0x0000) -Data3 = 0 (0x0000) -Data4[0] = 0 (0x00) -Data4[1] = 0 (0x00) -Data4[2] = 0 (0x00) -Data4[3] = 0 (0x00) -Data4[4] = 0 (0x00) -Data4[5] = 0 (0x00) -Data4[6] = 0 (0x00) -Data4[7] = 0 (0x00) -Id = 0 (0x00000000) -Flags = 0 (0x00000000) -MembersListCount = 0 (0x00000000) -Reserved = 0 (0x00000000) +Value -43072238195 (0x00000000074e3273) -KSPROPSETID_Synth
[Version] CatalogFile=virtualMIDI.cat Signature="$CHICAGO$" Class=MEDIA Provider=%TobiasErichsen% ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318} DriverVer = 01/27/2008,6.1.0130.1 [SourceDisksNames] 222="virtualMIDI Driver Disk",,, [SourceDisksFiles] virtualmidi.sys=222 [Manufacturer] %MfgName%=DeviceList,NTAMD64 [DeviceList] %virtualMIDI.DeviceDesc%=vMIDI,,*virtualMIDI [DeviceList.NTAMD64] %virtualMIDI.DeviceDesc%=vMIDI,,*virtualMIDI [DestinationDirs] vMIDI.CopyList=10,system32\drivers ;====================================================== ; vMIDI ;====================================================== [vMIDI] AlsoInstall=ks.registration(ks.inf),wdmaudio.registration(wdmaudio.inf) CopyFiles=vMIDI.CopyList AddReg=vMIDI.AddReg [vMIDI.CopyList] virtualmidi.sys [vMIDI.Interfaces] AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,vMIDI.I.Midi AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,vMIDI.I.Midi AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,vMIDI.I.Midi [vMIDI.AddReg] HKR,,AssociatedFilters,,"wdmaud,swmidi" HKR,,Driver,,virtualmidi.sys HKR,Drivers,SubClasses,,"midi" HKR,Drivers\midi\wdmaud.drv,Driver,,wdmaud.drv HKR,Drivers\midi\wdmaud.drv,Description,,%vMIDI.DeviceDesc% ;====================================================== ; COMMON ;====================================================== [vMIDI.I.Wave] AddReg=vMIDI.I.Midi.AddReg [vMIDI.I.Midi.AddReg] HKR,,CLSID,,%Proxy.CLSID% HKR,,FriendlyName,,%virtualMIDI.Midi.szPname% ;====================================================== ; vMIDI ;====================================================== [vMIDI.NT] Include=ks.inf,wdmaudio.inf Needs=KS.Registration, WDMAUDIO.Registration CopyFiles=vMIDI.CopyList AddReg=vMIDI.AddReg [vMIDI.NT.Interfaces] AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Midi%,vMIDI.I.Wave AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Midi%,vMIDI.I.Wave AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Midi%,vMIDI.I.Wave [vMIDI.NT.Services] include=wdmaudio.inf needs=wdmaudio.registration.services AddService=virtualMIDI,2,vMIDI_Service_Inst [vMIDI_Service_Inst] DisplayName=%virtualMIDI.SvcDesc% ServiceType=1 StartType=3 ErrorControl=1 ServiceBinary=%10%\system32\drivers\virtualmidi.sys ;====================================================== ; COMMON ;====================================================== [Strings] TobiasErichsen="Tobias Erichsen" MfgName="Tobias Erichsen" virtualMIDI.DeviceDesc="virtualMIDI - virtual MIDI port" virtualMIDI.Midi.szPname="virtualMIDI - virtual MIDI port" Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}" KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}" KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}" KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}" KSNAME_Midi="Midi" virtualMIDI.SvcDesc="virtualMIDI - virtual MIDI port SvcDesc" MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"