public virtual void SaveAsync(Dump dump, DumpFormat format, Stream stream, object taskId) { SaveInfo info = new SaveInfo(dump, format, stream); AsyncOperation asyncOp = CreateOperation(taskId); m_workerDelegate = new WorkerEventHandler(SaveWorker); m_workerDelegate.BeginInvoke(info, asyncOp, m_completionMethodDelegate, null, null); }
private void VisualizeDump (Dump dump) { Dictionary<uint, VisualSession> sessions = new Dictionary<uint,VisualSession> (); foreach (KeyValuePair<uint, Event> pair in dump.Events) { Event ev = pair.Value; // HACK #1 //if (ev.ThreadId != 7028 && ev.ThreadId != 3152) // continue; //else if (ev.ThreadId == 7028 && ev.Id < 138) // continue; if (ev.Id > 2200) continue; VisualSession session; if (sessions.ContainsKey (ev.ThreadId)) session = sessions[ev.ThreadId]; else { session = new VisualSession (String.Format ("{0}", ev.ThreadId)); sessions[ev.ThreadId] = session; } VisualTransaction tr = null; XmlElement eventRoot = ev.Data; XmlNode node = eventRoot.SelectSingleNode ("/event/name"); if (node != null) { string[] tokens = node.InnerText.Trim ().Split (new string[] { "::" }, 2, StringSplitOptions.None); string funcNameShort = tokens[tokens.Length - 1]; if (funcNameShort == "DeviceIoControl") { tr = CreateTransactionFromDeviceIoControl (ev, eventRoot); } else if (funcNameShort == "GetOverlappedResult") { tr = CreateTransactionFromGetOverlappedResult (ev, eventRoot); } else if (funcNameShort == "KsCreatePin") { tr = CreateTransactionFromKsCreatePin (ev, eventRoot); } else if (funcNameShort == "KsOpenDefaultDevice") { tr = CreateTransactionFromKsOpenDefaultDevice (ev, eventRoot); } else if (funcNameShort == "CloseHandle") { tr = CreateTransactionFromCloseHandle (ev, eventRoot); } else { tr = new VisualTransaction (ev.Id, TransactionDirection.In, ev.Timestamp); tr.HeadlineText = funcNameShort; tr.AddHeaderField ("Id", ev.Id); } } else { tr = new VisualTransaction (ev.Id, ev.Timestamp); tr.HeadlineText = String.Format ("<{0}>", ev.Type); tr.AddHeaderField ("Id", ev.Id); if (ev.Type == DumpEventType.AsyncResult) { uint requestEventId = Convert.ToUInt32 (eventRoot.SelectSingleNode ("/event/requestId").InnerText); tr.AddHeaderField ("RequestId", requestEventId); if (pendingReadStreamRequests.ContainsKey (requestEventId)) { pendingReadStreamRequests.Remove (requestEventId); XmlNode dataNode = eventRoot.SelectSingleNode ("/event/data/value"); tr.BodyText = KsReadStreamDataToString (dataNode, "out"); } } } if (tr != null) session.Transactions.Add (tr); } VisualSession[] sessionsArray = new VisualSession[sessions.Count]; sessions.Values.CopyTo (sessionsArray, 0); view.Sessions = sessionsArray; pendingReadStreamRequests.Clear (); }
public VisualizationForm (Dump dump) { InitializeComponent (); this.dump = dump; view = new MultiSessionView (); view.Parent = this; view.Dock = DockStyle.Fill; // Error codes errorCodes[31] = "ERROR_GEN_FAILURE"; errorCodes[234] = "ERROR_MORE_DATA"; errorCodes[995] = "ERROR_OPERATION_ABORTED"; errorCodes[997] = "ERROR_IO_PENDING"; errorCodes[1168] = "ERROR_NOT_FOUND"; errorCodes[1169] = "ERROR_NO_MATCH"; errorCodes[1170] = "ERROR_SET_NOT_FOUND"; // Categories ksCategories[new Guid ("{085AFF00-62CE-11CF-A5D6-28DB04C10000}")] = "KSCATEGORY_BRIDGE"; ksCategories[new Guid ("{65E8773D-8F56-11D0-A3B9-00A0C9223196}")] = "KSCATEGORY_CAPTURE"; ksCategories[new Guid ("{65E8773E-8F56-11D0-A3B9-00A0C9223196}")] = "KSCATEGORY_RENDER"; ksCategories[new Guid ("{AD809C00-7B88-11D0-A5D6-28DB04C10000}")] = "KSCATEGORY_MIXER"; ksCategories[new Guid ("{0A4252A0-7E70-11D0-A5D6-28DB04C10000}")] = "KSCATEGORY_SPLITTER"; ksCategories[new Guid ("{1E84C900-7E70-11D0-A5D6-28DB04C10000}")] = "KSCATEGORY_DATACOMPRESSOR"; ksCategories[new Guid ("{2721AE20-7E70-11D0-A5D6-28DB04C10000}")] = "KSCATEGORY_DATADECOMPRESSOR"; ksCategories[new Guid ("{2EB07EA0-7E70-11D0-A5D6-28DB04C10000}")] = "KSCATEGORY_DATATRANSFORM"; ksCategories[new Guid ("{CF1DDA2C-9743-11D0-A3EE-00A0C9223196}")] = "KSCATEGORY_COMMUNICATIONSTRANSFORM"; ksCategories[new Guid ("{CF1DDA2D-9743-11D0-A3EE-00A0C9223196}")] = "KSCATEGORY_INTERFACETRANSFORM"; ksCategories[new Guid ("{CF1DDA2E-9743-11D0-A3EE-00A0C9223196}")] = "KSCATEGORY_MEDIUMTRANSFORM"; ksCategories[new Guid ("{760FED5E-9357-11D0-A3CC-00A0C9223196}")] = "KSCATEGORY_FILESYSTEM"; ksCategories[new Guid ("{53172480-4791-11D0-A5D6-28DB04C10000}")] = "KSCATEGORY_CLOCK"; ksCategories[new Guid ("{97EBAACA-95BD-11D0-A3EA-00A0C9223196}")] = "KSCATEGORY_PROXY"; ksCategories[new Guid ("{97EBAACB-95BD-11D0-A3EA-00A0C9223196}")] = "KSCATEGORY_QUALITY"; ksCategories[new Guid ("{830a44f2-a32d-476b-be97-42845673b35a}")] = "KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR"; ksCategories[new Guid ("{6994AD04-93EF-11D0-A3CC-00A0C9223196}")] = "KSCATEGORY_AUDIO"; ksCategories[new Guid ("{6994AD05-93EF-11D0-A3CC-00A0C9223196}")] = "KSCATEGORY_VIDEO"; ksCategories[new Guid ("{EB115FFC-10C8-4964-831D-6DCB02E6F23F}")] = "KSCATEGORY_REALTIME"; ksCategories[new Guid ("{6994AD06-93EF-11D0-A3CC-00A0C9223196}")] = "KSCATEGORY_TEXT"; ksCategories[new Guid ("{67C9CC3C-69C4-11D2-8759-00A0C9223196}")] = "KSCATEGORY_NETWORK"; ksCategories[new Guid ("{DDA54A40-1E4C-11D1-A050-405705C10000}")] = "KSCATEGORY_TOPOLOGY"; ksCategories[new Guid ("{3503EAC4-1F26-11D1-8AB0-00A0C9223196}")] = "KSCATEGORY_VIRTUAL"; ksCategories[new Guid ("{BF963D80-C559-11D0-8A2B-00A0C9255AC1}")] = "KSCATEGORY_ACOUSTIC_ECHO_CANCEL"; ksCategories[new Guid ("{A7C7A5B1-5AF3-11D1-9CED-00A024BF0407}")] = "KSCATEGORY_SYSAUDIO"; ksCategories[new Guid ("{3E227E76-690D-11D2-8161-0000F8775BF1}")] = "KSCATEGORY_WDMAUD"; ksCategories[new Guid ("{9BAF9572-340C-11D3-ABDC-00A0C90AB16F}")] = "KSCATEGORY_AUDIO_GFX"; ksCategories[new Guid ("{9EA331FA-B91B-45F8-9285-BD2BC77AFCDE}")] = "KSCATEGORY_AUDIO_SPLITTER"; ksCategories[new Guid ("{FBF6F530-07B9-11D2-A71E-0000F8004788}")] = "KSCATEGORY_AUDIO_DEVICE"; ksCategories[new Guid ("{D6C5066E-72C1-11D2-9755-0000F8004788}")] = "KSCATEGORY_PREFERRED_WAVEOUT_DEVICE"; ksCategories[new Guid ("{D6C50671-72C1-11D2-9755-0000F8004788}")] = "KSCATEGORY_PREFERRED_WAVEIN_DEVICE"; ksCategories[new Guid ("{D6C50674-72C1-11D2-9755-0000F8004788}")] = "KSCATEGORY_PREFERRED_MIDIOUT_DEVICE"; ksCategories[new Guid ("{47A4FA20-A251-11D1-A050-0000F8004788}")] = "KSCATEGORY_WDMAUD_USE_PIN_NAME"; ksCategories[new Guid ("{74f3aea8-9768-11d1-8e07-00a0c95ec22e}")] = "KSCATEGORY_ESCALANTE_PLATFORM_DRIVER"; ksCategories[new Guid ("{a799a800-a46d-11d0-a18c-00a02401dcd4}")] = "KSCATEGORY_TVTUNER"; ksCategories[new Guid ("{a799a801-a46d-11d0-a18c-00a02401dcd4}")] = "KSCATEGORY_CROSSBAR"; ksCategories[new Guid ("{a799a802-a46d-11d0-a18c-00a02401dcd4}")] = "KSCATEGORY_TVAUDIO"; ksCategories[new Guid ("{a799a803-a46d-11d0-a18c-00a02401dcd4}")] = "KSCATEGORY_VPMUX"; ksCategories[new Guid ("{07dad660-22f1-11d1-a9f4-00c04fbbde8f}")] = "KSCATEGORY_VBICODEC"; ksCategories[new Guid ("{19689BF6-C384-48fd-AD51-90E58C79F70B}")] = "KSCATEGORY_ENCODER"; ksCategories[new Guid ("{7A5DE1D3-01A1-452c-B481-4FA2B96271E8}")] = "KSCATEGORY_MULTIPLEXER"; ksCategories[new Guid ("{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0}")] = "KSCATEGORY_BDA_RECEIVER_COMPONENT"; ksCategories[new Guid ("{71985F48-1CA1-11d3-9CC8-00C04F7971E0}")] = "KSCATEGORY_BDA_NETWORK_TUNER"; ksCategories[new Guid ("{71985F49-1CA1-11d3-9CC8-00C04F7971E0}")] = "KSCATEGORY_BDA_NETWORK_EPG"; ksCategories[new Guid ("{71985F4A-1CA1-11d3-9CC8-00C04F7971E0}")] = "KSCATEGORY_BDA_IP_SINK"; ksCategories[new Guid ("{71985F4B-1CA1-11d3-9CC8-00C04F7971E0}")] = "KSCATEGORY_BDA_NETWORK_PROVIDER"; ksCategories[new Guid ("{A2E3074F-6C3D-11d3-B653-00C04F79498E}")] = "KSCATEGORY_BDA_TRANSPORT_INFORMATION"; // Property sets // ks.h ksPropertySets[new Guid ("{1464EDA5-6A8F-11D1-9AA7-00A0C9223196}")] = "KSPROPSETID_General"; ksPropertySets[new Guid ("{EE904F0C-D09B-11D0-ABE9-00A0C9223196}")] = new KsPropertySet ("KSPROPSETID_MediaSeeking", typeof (KSPROPERTY_MEDIASEEKING)); ksPropertySets[new Guid ("{720D4AC0-7533-11D0-A5D6-28DB04C10000}")] = new KsPropertySet ("KSPROPSETID_Topology", typeof (KSPROPERTY_TOPOLOGY)); ksPropertySets[new Guid ("{AF627536-E719-11D2-8A1D-006097D2DF5D}")] = "KSPROPSETID_GM"; ksPropertySets[new Guid ("{8C134960-51AD-11CF-878A-94F801C10000}")] = new KsPropertySet ("KSPROPSETID_Pin", typeof (KSPROPERTY_PIN)); ksPropertySets[new Guid ("{D16AD380-AC1A-11CF-A5D6-28DB04C10000}")] = new KsPropertySet ("KSPROPSETID_Quality", typeof (KSPROPERTY_QUALITY)); ksPropertySets[new Guid ("{1D58C920-AC9B-11CF-A5D6-28DB04C10000}")] = new KsPropertySet ("KSPROPSETID_Connection", typeof (KSPROPERTY_CONNECTION)); ksPropertySets[new Guid ("{0A3D1C5D-5243-4819-9ED0-AEE8044CEE2B}")] = new KsPropertySet ("KSPROPSETID_MemoryTransport", typeof (KSPROPERTY_MEMORY_TRANSPORT)); ksPropertySets[new Guid ("{CF6E4342-EC87-11CF-A130-0020AFD156E4}")] = "KSPROPSETID_StreamAllocator"; ksPropertySets[new Guid ("{1FDD8EE1-9CD3-11D0-82AA-0000F822FE8A}")] = "KSPROPSETID_StreamInterface"; ksPropertySets[new Guid ("{65AABA60-98AE-11CF-A10D-0020AFD156E4}")] = new KsPropertySet ("KSPROPSETID_Stream", typeof (KSPROPERTY_STREAM)); ksPropertySets[new Guid ("{DF12A4C0-AC17-11CF-A5D6-28DB04C10000}")] = new KsPropertySet ("KSPROPSETID_Clock", typeof (KSPROPERTY_CLOCK)); // KsMedia.h ksPropertySets[new Guid ("{437B3414-D060-11D0-8583-00C04FD9BAF3}")] = "KSPROPSETID_DirectSound3DListener"; ksPropertySets[new Guid ("{437B3411-D060-11D0-8583-00C04FD9BAF3}")] = "KSPROPSETID_DirectSound3DBuffer"; ksPropertySets[new Guid ("{B66DECB0-A083-11D0-851E-00C04FD9BAF3}")] = "KSPROPSETID_Hrtf3d"; ksPropertySets[new Guid ("{6429F090-9FD9-11D0-A75B-00A0C90365E3}")] = "KSPROPSETID_Itd3d"; ksPropertySets[new Guid ("{07BA150E-E2B1-11D0-AC17-00A0C9223196}")] = "KSPROPSETID_Bibliographic"; ksPropertySets[new Guid ("{45FFAAA1-6E1B-11D0-BCF2-444553540000}")] = "KSPROPSETID_TopologyNode"; ksPropertySets[new Guid ("{A855A48C-2F78-4729-9051-1968746B9EEF}")] = "KSPROPSETID_RtAudio"; ksPropertySets[new Guid ("{2F2C8DDD-4198-4FAC-BA29-61BB05B7DE06}")] = "KSPROPSETID_DrmAudioStream"; ksPropertySets[new Guid ("{45FFAAA0-6E1B-11D0-BCF2-444553540000}")] = "KSPROPSETID_Audio"; ksPropertySets[new Guid ("{D7A4AF8B-3DC1-4902-91EA-8A15C90E05B2}")] = "KSPROPSETID_Acoustic_Echo_Cancel"; ksPropertySets[new Guid ("{16A15B10-16F0-11D0-A195-0020AFD156E4}")] = "KSPROPSETID_Wave_Queued"; ksPropertySets[new Guid ("{924E54B0-630F-11CF-ADA7-08003E30494A}")] = "KSPROPSETID_Wave"; ksPropertySets[new Guid ("{8539E660-62E9-11CF-A5D6-28DB04C10000}")] = "KSPROPSETID_WaveTable"; ksPropertySets[new Guid ("{3FFEAEA0-2BEE-11CF-A5D6-28DB04C10000}")] = "KSPROPSETID_Cyclic"; ksPropertySets[new Guid ("{CBE3FAA0-CC75-11D0-B465-00001A1818E6}")] = "KSPROPSETID_Sysaudio"; ksPropertySets[new Guid ("{A3A53220-C6E4-11D0-B465-00001A1818E6}")] = "KSPROPSETID_Sysaudio_Pin"; ksPropertySets[new Guid ("{79A9312E-59AE-43B0-A350-8B05284CAB24}")] = "KSPROPSETID_AudioGfx"; ksPropertySets[new Guid ("{5A2FFE80-16B9-11D0-A5D6-28DB04C10000}")] = "KSPROPSETID_Linear"; ksPropertySets[new Guid ("{BFABE720-6E1F-11D0-BCF2-444553540000}")] = "KSPROPSETID_AC3"; ksPropertySets[new Guid ("{6CA6E020-43BD-11D0-BD6A-003505C103A9}")] = "KSPROPSETID_AudioDecoderOut"; ksPropertySets[new Guid ("{AC390460-43AF-11D0-BD6A-003505C103A9}")] = "KSPROPSETID_DvdSubPic"; ksPropertySets[new Guid ("{0E8A0A40-6AEF-11D0-9ED0-00A024CA19B3}")] = "KSPROPSETID_CopyProt"; ksPropertySets[new Guid ("{F162C607-7B35-496F-AD7F-2DCA3B46B718}")] = "KSPROPSETID_VBICAP_PROPERTIES"; ksPropertySets[new Guid ("{CAFEB0CA-8715-11D0-BD6A-0035C0EDBABE}")] = "KSPROPSETID_VBICodecFiltering"; ksPropertySets[new Guid ("{E73FACE3-2880-4902-B799-88D0CD634E0F}")] = new KsPropertySet ("KSPROPSETID_VramCapture", typeof (KSPROPERTY_VIDMEM_TRANSPORT)); ksPropertySets[new Guid ("{490EA5CF-7681-11D1-A21C-00A0C9223196}")] = "KSPROPSETID_OverlayUpdate"; ksPropertySets[new Guid ("{BC29A660-30E3-11D0-9E69-00C04FD7C15B}")] = "KSPROPSETID_VPConfig"; ksPropertySets[new Guid ("{EC529B00-1A1F-11D1-BAD9-00609744111A}")] = "KSPROPSETID_VPVBIConfig"; ksPropertySets[new Guid ("{A503C5C0-1D1D-11D1-AD80-444553540000}")] = "KSPROPSETID_TSRateChange"; ksPropertySets[new Guid ("{4509F757-2D46-4637-8E62-CE7DB944F57B}")] = "KSPROPSETID_Jack"; ksPropertySets[new Guid ("{53171960-148E-11D2-9979-0000C0CC16BA}")] = new KsPropertySet ("PROPSETID_ALLOCATOR_CONTROL", typeof (KSPROPERTY_ALLOCATOR_CONTROL)); ksPropertySets[new Guid ("{C6E13360-30AC-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_VIDEOPROCAMP"; ksPropertySets[new Guid ("{1ABDAECA-68B6-4F83-9371-B413907C7B9F}")] = "PROPSETID_VIDCAP_SELECTOR"; ksPropertySets[new Guid ("{6A2E0605-28E4-11D0-A18C-00A0C9118956}")] = "PROPSETID_TUNER"; ksPropertySets[new Guid ("{6A2E0610-28E4-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_VIDEOENCODER"; ksPropertySets[new Guid ("{C6E13350-30AC-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_VIDEODECODER"; ksPropertySets[new Guid ("{C6E13370-30AC-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_CAMERACONTROL"; ksPropertySets[new Guid ("{B5730A90-1A2C-11CF-8C23-00AA006B6814}")] = "PROPSETID_EXT_DEVICE"; ksPropertySets[new Guid ("{A03CD5F0-3045-11CF-8C44-00AA006B6814}")] = "PROPSETID_EXT_TRANSPORT"; ksPropertySets[new Guid ("{9B496CE1-811B-11CF-8C77-00AA006B6814}")] = "PROPSETID_TIMECODE_READER"; ksPropertySets[new Guid ("{6A2E0640-28E4-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_CROSSBAR"; ksPropertySets[new Guid ("{6A2E0650-28E4-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_TVAUDIO"; ksPropertySets[new Guid ("{C6E13343-30AC-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_VIDEOCOMPRESSION"; ksPropertySets[new Guid ("{6A2E0670-28E4-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_VIDEOCONTROL"; ksPropertySets[new Guid ("{C6E13344-30AC-11D0-A18C-00A0C9118956}")] = "PROPSETID_VIDCAP_DROPPEDFRAMES"; // Property Flags ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00000001, "GET")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00000002, "SET")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00000100, "SETSUPPORT")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00000200, "BASICSUPPORT")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00000400, "RELATIONS")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00000800, "SERIALIZESET")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00001000, "UNSERIALIZESET")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00002000, "SERIALIZERAW")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00004000, "UNSERIALIZERAW")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00008000, "SERIALIZESIZE")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x00010000, "DEFAULTVALUES")); ksPropertyFlags.Add (new KeyValuePair<uint, string> (0x10000000, "TOPOLOGY")); // Major formats ksMajorFormats[new Guid ("{00000000-0000-0000-0000-000000000000}")] = "KSDATAFORMAT_TYPE_WILDCARD"; ksMajorFormats[new Guid ("{E436EB83-524F-11CE-9F53-0020AF0BA770}")] = "KSDATAFORMAT_TYPE_STREAM"; ksMajorFormats[new Guid ("{73646976-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_TYPE_VIDEO"; ksMajorFormats[new Guid ("{73647561-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_TYPE_AUDIO"; ksMajorFormats[new Guid ("{73747874-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_TYPE_TEXT"; ksMajorFormats[new Guid ("{E725D360-62CC-11CF-A5D6-28DB04C10000}")] = "KSDATAFORMAT_TYPE_MUSIC"; ksMajorFormats[new Guid ("{7364696D-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_TYPE_MIDI"; ksMajorFormats[new Guid ("{36523B11-8EE5-11D1-8CA3-0060B057664A}")] = "KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM"; ksMajorFormats[new Guid ("{36523B12-8EE5-11D1-8CA3-0060B057664A}")] = "KSDATAFORMAT_TYPE_STANDARD_PES_PACKET"; ksMajorFormats[new Guid ("{36523B13-8EE5-11D1-8CA3-0060B057664A}")] = "KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER"; ksMajorFormats[new Guid ("{E06D8020-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_TYPE_MPEG2_PES"; ksMajorFormats[new Guid ("{E06D8022-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_TYPE_MPEG2_PROGRAM"; ksMajorFormats[new Guid ("{E06D8023-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_TYPE_MPEG2_TRANSPORT"; ksMajorFormats[new Guid ("{0482DDE1-7817-11CF-8A03-00AA006ECB65}")] = "KSDATAFORMAT_TYPE_ANALOGVIDEO"; ksMajorFormats[new Guid ("{0482DEE1-7817-11CF-8A03-00AA006ECB65}")] = "KSDATAFORMAT_TYPE_ANALOGAUDIO"; ksMajorFormats[new Guid ("{F72A76E1-EB0A-11D0-ACE4-0000C0CC16BA}")] = "KSDATAFORMAT_TYPE_VBI"; ksMajorFormats[new Guid ("{E757BCA0-39AC-11D1-A9F5-00C04FBBDE8F}")] = "KSDATAFORMAT_TYPE_NABTS"; ksMajorFormats[new Guid ("{670AEA80-3A82-11D0-B79B-00AA003767A7}")] = "KSDATAFORMAT_TYPE_AUXLine21Data"; ksMajorFormats[new Guid ("{ED0B916A-044D-11D1-AA78-00C04FC31D60}")] = "KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK"; // Sub formats ksSubFormats[new Guid ("{00000000-0000-0000-0000-000000000000}")] = "KSDATAFORMAT_SUBTYPE_WILDCARD"; ksSubFormats[new Guid ("{E436EB8E-524F-11CE-9F53-0020AF0BA770}")] = "KSDATAFORMAT_SUBTYPE_NONE"; ksSubFormats[new Guid ("{00000000-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_SUBTYPE_WAVEFORMATEX"; ksSubFormats[new Guid ("{6DBA3190-67BD-11CF-A0F7-0020AFD156E4}")] = "KSDATAFORMAT_SUBTYPE_ANALOG"; ksSubFormats[new Guid ("{00000001-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_SUBTYPE_PCM"; ksSubFormats[new Guid ("{00000003-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_SUBTYPE_IEEE_FLOAT"; ksSubFormats[new Guid ("{00000009-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_SUBTYPE_DRM"; ksSubFormats[new Guid ("{00000006-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_SUBTYPE_ALAW"; ksSubFormats[new Guid ("{00000007-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_SUBTYPE_MULAW"; ksSubFormats[new Guid ("{00000002-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_SUBTYPE_ADPCM"; ksSubFormats[new Guid ("{00000050-0000-0010-8000-00AA00389B71}")] = "KSDATAFORMAT_SUBTYPE_MPEG"; ksSubFormats[new Guid ("{4995DAEE-9EE6-11D0-A40E-00A0C9223196}")] = "KSDATAFORMAT_SUBTYPE_RIFF"; ksSubFormats[new Guid ("{E436EB8B-524F-11CE-9F53-0020AF0BA770}")] = "KSDATAFORMAT_SUBTYPE_RIFFWAVE"; ksSubFormats[new Guid ("{1D262760-E957-11CF-A5D6-28DB04C10000}")] = "KSDATAFORMAT_SUBTYPE_MIDI"; ksSubFormats[new Guid ("{2CA15FA0-6CFE-11CF-A5D6-28DB04C10000}")] = "KSDATAFORMAT_SUBTYPE_MIDI_BUS"; ksSubFormats[new Guid ("{4995DAF0-9EE6-11D0-A40E-00A0C9223196}")] = "KSDATAFORMAT_SUBTYPE_RIFFMIDI"; ksSubFormats[new Guid ("{36523B21-8EE5-11D1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO"; ksSubFormats[new Guid ("{36523B22-8EE5-11D1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO"; ksSubFormats[new Guid ("{36523B23-8EE5-11D1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO"; ksSubFormats[new Guid ("{36523B24-8EE5-11D1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO"; ksSubFormats[new Guid ("{36523B25-8EE5-11D1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO"; ksSubFormats[new Guid ("{A0AF4F81-E163-11D0-BAD9-00609744111A}")] = "KSDATAFORMAT_SUBTYPE_DSS_VIDEO"; ksSubFormats[new Guid ("{A0AF4F82-E163-11D0-BAD9-00609744111A}")] = "KSDATAFORMAT_SUBTYPE_DSS_AUDIO"; ksSubFormats[new Guid ("{E436EB80-524F-11CE-9F53-0020AF0BA770}")] = "KSDATAFORMAT_SUBTYPE_MPEG1Packet"; ksSubFormats[new Guid ("{E436EB81-524F-11CE-9F53-0020AF0BA770}")] = "KSDATAFORMAT_SUBTYPE_MPEG1Payload"; ksSubFormats[new Guid ("{E436EB86-524F-11CE-9F53-0020AF0BA770}")] = "KSDATAFORMAT_SUBTYPE_MPEG1Video"; ksSubFormats[new Guid ("{E06D8026-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO"; ksSubFormats[new Guid ("{E06D802B-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO"; ksSubFormats[new Guid ("{E06D8032-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_SUBTYPE_LPCM_AUDIO"; ksSubFormats[new Guid ("{E06D802C-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_SUBTYPE_AC3_AUDIO"; ksSubFormats[new Guid ("{E06D8033-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_SUBTYPE_DTS_AUDIO"; ksSubFormats[new Guid ("{E06D8034-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_SUBTYPE_SDDS_AUDIO"; ksSubFormats[new Guid ("{E06D802D-DB46-11CF-B4D1-00805F6CBBEA}")] = "KSDATAFORMAT_SUBTYPE_SUBPICTURE"; ksSubFormats[new Guid ("{5A9B6A40-1A22-11D1-BAD9-00609744111A}")] = "KSDATAFORMAT_SUBTYPE_VPVideo"; ksSubFormats[new Guid ("{5A9B6A41-1A22-11D1-BAD9-00609744111A}")] = "KSDATAFORMAT_SUBTYPE_VPVBI"; ksSubFormats[new Guid ("{CA20D9A0-3E3E-11D1-9BF9-00C04FBBDEBF}")] = "KSDATAFORMAT_SUBTYPE_RAW8"; ksSubFormats[new Guid ("{33214CC1-011F-11D2-B4B1-00A0D102CFBE}")] = "KSDATAFORMAT_SUBTYPE_CC"; ksSubFormats[new Guid ("{F72A76E2-EB0A-11D0-ACE4-0000C0CC16BA}")] = "KSDATAFORMAT_SUBTYPE_NABTS"; ksSubFormats[new Guid ("{F72A76E3-EB0A-11D0-ACE4-0000C0CC16BA}")] = "KSDATAFORMAT_SUBTYPE_TELETEXT"; ksSubFormats[new Guid ("{E757BCA1-39AC-11D1-A9F5-00C04FBBDE8F}")] = "KSDATAFORMAT_SUBTYPE_NABTS_FEC"; ksSubFormats[new Guid ("{E436EB7F-524F-11CE-9F53-0020AF0BA770}")] = "KSDATAFORMAT_SUBTYPE_OVERLAY"; ksSubFormats[new Guid ("{6E8D4A22-310C-11D0-B79A-00AA003767A7}")] = "KSDATAFORMAT_SUBTYPE_Line21_BytePair"; ksSubFormats[new Guid ("{6E8D4A23-310C-11D0-B79A-00AA003767A7}")] = "KSDATAFORMAT_SUBTYPE_Line21_GOPPacket"; ksSubFormats[new Guid ("{4C504C43-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_CLPL"; ksSubFormats[new Guid ("{56595559-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_YUYV"; ksSubFormats[new Guid ("{56555949-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_IYUV"; ksSubFormats[new Guid ("{39555659-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_YVU9"; ksSubFormats[new Guid ("{31313459-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_Y411"; ksSubFormats[new Guid ("{50313459-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_Y41P"; ksSubFormats[new Guid ("{32595559-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_YUY2"; ksSubFormats[new Guid ("{55595659-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_YVYU"; ksSubFormats[new Guid ("{59565955-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_UYVY"; ksSubFormats[new Guid ("{31313259-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_Y211"; ksSubFormats[new Guid ("{524A4C43-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_CLJR"; ksSubFormats[new Guid ("{39304649-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_IF09"; ksSubFormats[new Guid ("{414C5043-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_CPLA"; ksSubFormats[new Guid ("{47504A4D-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_MJPG"; ksSubFormats[new Guid ("{4A4D5654-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_TVMJ"; ksSubFormats[new Guid ("{454B4157-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_WAKE"; ksSubFormats[new Guid ("{43434643-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_CFCC"; ksSubFormats[new Guid ("{47504A49-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_IJPG"; ksSubFormats[new Guid ("{6D756C50-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_Plum"; ksSubFormats[new Guid ("{53435644-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_DVCS"; ksSubFormats[new Guid ("{34363248-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_H264"; ksSubFormats[new Guid ("{44535644-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_DVSD"; ksSubFormats[new Guid ("{4656444D-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_MDVF"; ksSubFormats[new Guid ("{E436EB78-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_RGB1"; ksSubFormats[new Guid ("{E436EB79-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_RGB4"; ksSubFormats[new Guid ("{E436EB7A-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_RGB8"; ksSubFormats[new Guid ("{E436EB7B-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_RGB565"; ksSubFormats[new Guid ("{E436EB7C-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_RGB555"; ksSubFormats[new Guid ("{E436EB7D-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_RGB24"; ksSubFormats[new Guid ("{E436EB7E-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_RGB32"; ksSubFormats[new Guid ("{297C55AF-E209-4CB3-B757-C76D6B9C88A8}")] = "MEDIASUBTYPE_ARGB1555"; ksSubFormats[new Guid ("{6E6415E6-5C24-425F-93CD-80102B3D1CCA}")] = "MEDIASUBTYPE_ARGB4444"; ksSubFormats[new Guid ("{773C9AC0-3274-11D0-B724-00AA006C1A01}")] = "MEDIASUBTYPE_ARGB32"; ksSubFormats[new Guid ("{2F8BB76D-B644-4550-ACF3-D30CAA65D5C5}")] = "MEDIASUBTYPE_A2R10G10B10"; ksSubFormats[new Guid ("{576F7893-BDF6-48C4-875F-AE7B81834567}")] = "MEDIASUBTYPE_A2B10G10R10"; ksSubFormats[new Guid ("{56555941-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_AYUV"; ksSubFormats[new Guid ("{34344941-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_AI44"; ksSubFormats[new Guid ("{34344149-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_IA44"; ksSubFormats[new Guid ("{32335237-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_RGB32_D3D_DX7_RT"; ksSubFormats[new Guid ("{36315237-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_RGB16_D3D_DX7_RT"; ksSubFormats[new Guid ("{38384137-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_ARGB32_D3D_DX7_RT"; ksSubFormats[new Guid ("{34344137-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_ARGB4444_D3D_DX7_RT"; ksSubFormats[new Guid ("{35314137-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_ARGB1555_D3D_DX7_RT"; ksSubFormats[new Guid ("{32335239-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_RGB32_D3D_DX9_RT"; ksSubFormats[new Guid ("{36315239-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_RGB16_D3D_DX9_RT"; ksSubFormats[new Guid ("{38384139-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_ARGB32_D3D_DX9_RT"; ksSubFormats[new Guid ("{34344139-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_ARGB4444_D3D_DX9_RT"; ksSubFormats[new Guid ("{35314139-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_ARGB1555_D3D_DX9_RT"; ksSubFormats[new Guid ("{32315659-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_YV12"; ksSubFormats[new Guid ("{3231564E-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_NV12"; ksSubFormats[new Guid ("{31434D49-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_IMC1"; ksSubFormats[new Guid ("{32434D49-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_IMC2"; ksSubFormats[new Guid ("{33434D49-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_IMC3"; ksSubFormats[new Guid ("{34434D49-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_IMC4"; ksSubFormats[new Guid ("{30343353-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_S340"; ksSubFormats[new Guid ("{32343353-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_S342"; ksSubFormats[new Guid ("{E436EB82-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_MPEG1SystemStream"; ksSubFormats[new Guid ("{E436EB84-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_MPEG1System"; ksSubFormats[new Guid ("{E436EB85-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_MPEG1VideoCD"; ksSubFormats[new Guid ("{E436EB87-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_MPEG1Audio"; ksSubFormats[new Guid ("{E436EB88-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_Avi"; ksSubFormats[new Guid ("{3DB80F90-9412-11D1-ADED-0000F8754B99}")] = "MEDIASUBTYPE_Asf"; ksSubFormats[new Guid ("{E436EB89-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_QTMovie"; ksSubFormats[new Guid ("{617A7072-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_Rpza"; ksSubFormats[new Guid ("{20636D73-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_Smc"; ksSubFormats[new Guid ("{20656C72-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_Rle"; ksSubFormats[new Guid ("{6765706A-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_Jpeg"; ksSubFormats[new Guid ("{E436EB8A-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_PCMAudio_Obsolete"; ksSubFormats[new Guid ("{E436EB8C-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_AU"; ksSubFormats[new Guid ("{E436EB8D-524F-11CE-9F53-0020AF0BA770}")] = "MEDIASUBTYPE_AIFF"; ksSubFormats[new Guid ("{64737664-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_dvsd"; ksSubFormats[new Guid ("{64687664-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_dvhd"; ksSubFormats[new Guid ("{6C737664-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_dvsl"; ksSubFormats[new Guid ("{35327664-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_dv25"; ksSubFormats[new Guid ("{30357664-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_dv50"; ksSubFormats[new Guid ("{31687664-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_dvh1"; ksSubFormats[new Guid ("{6E8D4A24-310C-11D0-B79A-00AA003767A7}")] = "MEDIASUBTYPE_Line21_VBIRawData"; ksSubFormats[new Guid ("{0AF414BC-4ED2-445E-9839-8F095568AB3C}")] = "MEDIASUBTYPE_708_608Data"; ksSubFormats[new Guid ("{F52ADDAA-36F0-43F5-95EA-6D866484262A}")] = "MEDIASUBTYPE_DtvCcData"; ksSubFormats[new Guid ("{2791D576-8E7A-466F-9E90-5D3F3083738B}")] = "MEDIASUBTYPE_WSS"; ksSubFormats[new Guid ("{A1B3F620-9792-4D8D-81A4-86AF25772090}")] = "MEDIASUBTYPE_VPS"; ksSubFormats[new Guid ("{30323449-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_I420"; ksSubFormats[new Guid ("{32323450-0000-0010-8000-00AA00389B71}")] = "MEDIASUBTYPE_P422"; ksSubFormats[new Guid ("{1d4a45f2-e5f6-4b44-8388-f0ae5c0e0c37}")] = "MEDIASUBTYPE_VIDEOIMAGE"; ksSubFormats[new Guid ("{3334504D-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_MP43"; ksSubFormats[new Guid ("{5334504D-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_MP4S"; ksSubFormats[new Guid ("{3253344D-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_M4S2"; ksSubFormats[new Guid ("{31564D57-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMV1"; ksSubFormats[new Guid ("{32564D57-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMV2"; ksSubFormats[new Guid ("{3153534D-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_MSS1"; ksSubFormats[new Guid ("{00000162-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMAudioV9"; ksSubFormats[new Guid ("{00000163-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMAudio_Lossless"; ksSubFormats[new Guid ("{3253534D-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_MSS2"; ksSubFormats[new Guid ("{0000000A-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMSP1"; ksSubFormats[new Guid ("{0000000B-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMSP2"; ksSubFormats[new Guid ("{33564D57-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMV3"; ksSubFormats[new Guid ("{50564D57-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMVP"; ksSubFormats[new Guid ("{32505657-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WVP2"; ksSubFormats[new Guid ("{41564D57-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMVA"; ksSubFormats[new Guid ("{31435657-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WVC1"; ksSubFormats[new Guid ("{00000161-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_WMAudioV8"; ksSubFormats[new Guid ("{00000130-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_ACELPnet"; ksSubFormats[new Guid ("{00000055-0000-0010-8000-00AA00389B71}")] = "WMMEDIASUBTYPE_MP3"; ksSubFormats[new Guid ("{776257D4-C627-41CB-8F81-7AC7FF1C40CC}")] = "WMMEDIASUBTYPE_WebStream"; // Specifiers ksSpecifiers[new Guid ("{00000000-0000-0000-0000-000000000000}")] = "KSDATAFORMAT_SPECIFIER_WILDCARD"; ksSpecifiers[new Guid ("{AA797B40-E974-11CF-A5D6-28DB04C10000}")] = "KSDATAFORMAT_SPECIFIER_FILENAME"; ksSpecifiers[new Guid ("{65E8773C-8F56-11D0-A3B9-00A0C9223196}")] = "KSDATAFORMAT_SPECIFIER_FILEHANDLE"; ksSpecifiers[new Guid ("{0F6417D6-C318-11D0-A43F-00A0C9223196}")] = "KSDATAFORMAT_SPECIFIER_NONE"; ksSpecifiers[new Guid ("{AD98D184-AAC3-11D0-A41C-00A0C9223196}")] = "KSDATAFORMAT_SPECIFIER_VC_ID"; ksSpecifiers[new Guid ("{05589f81-c356-11ce-bf01-00aa0055595a}")] = "KSDATAFORMAT_SPECIFIER_WAVEFORMATEX"; ksSpecifiers[new Guid ("{518590a2-a184-11d0-8522-00c04fd9baf3}")] = "KSDATAFORMAT_SPECIFIER_DSOUND"; ksSpecifiers[new Guid ("{36523B31-8EE5-11d1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO"; ksSpecifiers[new Guid ("{36523B32-8EE5-11d1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO"; ksSpecifiers[new Guid ("{36523B33-8EE5-11d1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO"; ksSpecifiers[new Guid ("{36523B34-8EE5-11d1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO"; ksSpecifiers[new Guid ("{36523B35-8EE5-11d1-8CA3-0060B057664A}")] = "KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO"; ksSpecifiers[new Guid ("{05589f82-c356-11ce-bf01-00aa0055595a}")] = "KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO"; ksSpecifiers[new Guid ("{e06d80e3-db46-11cf-b4d1-00805f6cbbea}")] = "KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO"; ksSpecifiers[new Guid ("{e06d80e5-db46-11cf-b4d1-00805f6cbbea}")] = "KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO"; ksSpecifiers[new Guid ("{e06d80e6-db46-11cf-b4d1-00805f6cbbea}")] = "KSDATAFORMAT_SPECIFIER_LPCM_AUDIO"; ksSpecifiers[new Guid ("{e06d80e4-db46-11cf-b4d1-00805f6cbbea}")] = "KSDATAFORMAT_SPECIFIER_AC3_AUDIO"; ksSpecifiers[new Guid ("{05589f80-c356-11ce-bf01-00aa0055595a}")] = "KSDATAFORMAT_SPECIFIER_VIDEOINFO"; ksSpecifiers[new Guid ("{f72a76A0-eb0a-11d0-ace4-0000c0cc16ba}")] = "KSDATAFORMAT_SPECIFIER_VIDEOINFO2"; ksSpecifiers[new Guid ("{0482dde0-7817-11cf-8a03-00aa006ecb65}")] = "KSDATAFORMAT_SPECIFIER_ANALOGVIDEO"; ksSpecifiers[new Guid ("{f72a76e0-eb0a-11d0-ace4-0000c0cc16ba}")] = "KSDATAFORMAT_SPECIFIER_VBI"; // Memory types ksMemoryTypes[new Guid ("{00000000-0000-0000-0000-000000000000}")] = "KSMEMORY_TYPE_WILDCARD"; ksMemoryTypes[new Guid ("{091BB638-603F-11D1-B067-00A0C9062802}")] = "KSMEMORY_TYPE_SYSTEM"; ksMemoryTypes[new Guid ("{8CB0FC28-7893-11D1-B069-00A0C9062802}")] = "KSMEMORY_TYPE_USER"; ksMemoryTypes[new Guid ("{D833F8F8-7894-11D1-B069-00A0C9062802}")] = "KSMEMORY_TYPE_KERNEL_PAGED"; ksMemoryTypes[new Guid ("{4A6D5FC4-7895-11D1-B069-00A0C9062802}")] = "KSMEMORY_TYPE_KERNEL_NONPAGED"; ksMemoryTypes[new Guid ("{091BB639-603F-11D1-B067-00A0C9062802}")] = "KSMEMORY_TYPE_DEVICE_UNKNOWN"; // Bus types TBD // Allocator flags: Options (create) ksAllocatorCreateFlags.Add (new KeyValuePair<uint, string> (0x00000001, "OPTIONF_COMPATIBLE")); ksAllocatorCreateFlags.Add (new KeyValuePair<uint, string> (0x00000002, "OPTIONF_SYSTEM_MEMORY")); // Allocator flags: Requirements (query) ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000001, "REQUIREMENTF_INPLACE_MODIFIER")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000002, "REQUIREMENTF_SYSTEM_MEMORY")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000004, "REQUIREMENTF_FRAME_INTEGRITY")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000008, "REQUIREMENTF_MUST_ALLOCATE")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x80000000, "REQUIREMENTF_PREFERENCES_ONLY")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000010, "FLAG_PARTIAL_READ_SUPPORT")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000020, "FLAG_DEVICE_SPECIFIC")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000040, "FLAG_CAN_ALLOCATE")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000080, "FLAG_INSIST_ON_FRAMESIZE_RATIO")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000100, "FLAG_NO_FRAME_INTEGRITY")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000200, "FLAG_MULTIPLE_OUTPUT")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000400, "FLAG_CYCLE")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00000800, "FLAG_ALLOCATOR_EXISTS")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00001000, "FLAG_INDEPENDENT_RANGES")); ksAllocatorQueryFlags.Add (new KeyValuePair<uint, string> (0x00002000, "FLAG_ATTENTION_STEPPING")); // Event request types ksEventFlags.Add (new KeyValuePair<uint,string> (0x00000001, "KSEVENT_TYPE_ENABLE")); ksEventFlags.Add (new KeyValuePair<uint,string> (0x00000002, "KSEVENT_TYPE_ONESHOT")); ksEventFlags.Add (new KeyValuePair<uint,string> (0x00000004, "KSEVENT_TYPE_ENABLEBUFFERED")); ksEventFlags.Add (new KeyValuePair<uint,string> (0x00000100, "KSEVENT_TYPE_SETSUPPORT")); ksEventFlags.Add (new KeyValuePair<uint,string> (0x00000200, "KSEVENT_TYPE_BASICSUPPORT")); ksEventFlags.Add (new KeyValuePair<uint,string> (0x00000400, "KSEVENT_TYPE_QUERYBUFFER")); ksEventFlags.Add (new KeyValuePair<uint, string> (0x10000000, "KSEVENT_TYPE_TOPOLOGY")); // File alignments fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x00000000, "FILE_BYTE_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x00000001, "FILE_WORD_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x00000003, "FILE_LONG_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x00000007, "FILE_QUAD_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x0000000f, "FILE_OCTA_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x0000001f, "FILE_32_BYTE_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x0000003f, "FILE_64_BYTE_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x0000007f, "FILE_128_BYTE_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x000000ff, "FILE_256_BYTE_ALIGNMENT")); fileAlignmentFlags.Add (new KeyValuePair<uint, string> (0x000001ff, "FILE_512_BYTE_ALIGNMENT")); VisualizeDump (dump); }
public LoadCompletedEventArgs(Dump dump, Exception e, bool cancelled, object state) : base(e, cancelled, state) { m_dump = dump; }
public LoadState(Dump dump, Exception ex, AsyncOperation asyncOp) { m_dump = dump; m_exception = ex; m_asyncOperation = asyncOp; }
private Dump DoLoad(Stream stream, AsyncOperation asyncOp) { Dump dump = new Dump(); BinaryReader reader = new BinaryReader(stream, System.Text.Encoding.ASCII); string magic = new string(reader.ReadChars(4)); uint version = reader.ReadUInt32(); uint isCompressed = reader.ReadUInt32(); uint numEvents = reader.ReadUInt32(); if (magic != "oSpy") throw new InvalidDataException("invalid signature '" + magic + "'"); else if (version != 2) throw new InvalidDataException("unsupported version " + version); else if (isCompressed != 0 && isCompressed != 1) throw new InvalidDataException("invalid value for isCompressed"); if (isCompressed == 1) stream = new BZip2InputStream(stream); XmlTextReader xmlReader = new XmlTextReader(stream); uint eventCount; uint prevId = 0; for (eventCount = 0; xmlReader.Read() && eventCount < numEvents; ) { if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "event") { if (asyncOp != null) { int percentComplete = (int)(((float)(eventCount + 1) / (float)numEvents) * 100.0f); ProgressChangedEventArgs e = new ProgressChangedEventArgs(percentComplete, asyncOp.UserSuppliedState); asyncOp.Post(m_onProgressReportDelegate, e); } Event ev; try { XmlReader rdr = xmlReader.ReadSubtree(); ev = m_eventFactory.CreateEvent(rdr); m_tagBuilder.Process(ev); dump.AddEvent(ev); } catch (Exception ex) { Exception outerEx = new Exception("Error processing event following id " + prevId, ex); throw outerEx; } eventCount++; prevId = ev.Id; } } if (eventCount != numEvents) throw new InvalidDataException(String.Format("expected {0} events, read {1}", numEvents, eventCount)); return dump; }
public virtual void Save(Dump dump, DumpFormat format, Stream stream) { SaveInfo info = new SaveInfo(dump, format, stream); DoSave(info, null); }
public SaveInfo(Dump dump, DumpFormat format, Stream stream) { m_dump = dump; m_format = format; m_stream = stream; }
private void CloseCurrentDump() { playgroundToolStripMenuItem.Enabled = false; if (curDump == null) return; curDump.Close(); curDump = null; dataSet.Tables[0].Clear(); richTextBox.Clear(); }
private void OpenDump(Dump dump) { CloseCurrentDump(); curDump = dump; dataGridView.DataSource = null; NewOperation("Opening"); Thread th = new Thread(new ThreadStart(DoOpenDump)); th.Start(); if (curProgress.ShowDialog(this) != DialogResult.OK) { MessageBox.Show(String.Format("Failed to open capture: {0}", curProgress.GetOperationErrorMessage()), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } playgroundToolStripMenuItem.Enabled = true; #if TESTING_PARSER DumpParser parser = new DumpParser(); parser.ParseProgressChanged += new ParseProgressChangedEventHandler(parser_ParseProgressChanged); parser.ParseCompleted += new ParseCompletedEventHandler(parser_ParseCompleted); NewOperation("Parsing"); parser.ParseAsync(curDump, curOperation); curProgress.ShowDialog(this); #endif }