SaveProfile Method

Summary

Saves a profile to a string buffer, in the form of an XML-formatted string.

Syntax
C#
VB
C++
public string SaveProfile( 
   WMProfile Profile 
) 
Public Function SaveProfile( _ 
   ByVal Profile As WMProfile _ 
) As String 
public: 
String^ SaveProfile(  
   WMProfile^ Profile 
)  

Parameters

Profile
A WMProfile object containing the profile data to be saved.

Return Value

XML-formatted string containing the profile information.

Remarks

Saves a profile to a string buffer, in the form of an XML-formatted string. The returned string should not be modified directly. To change the profile settings, load the saved profile using the WMProfileManager.LoadProfileByData method and change the settings using the WMProfile object methods. If you save the string in a file for later use, the file must have a "prx" extension. For more information, refer to the Microsoft documentation for IWMProfileManager.SaveProfile.

Example
C#
VB
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.Fixtures; 
 
public bool _result = false; 
public ConvertCtrlForm _form = new ConvertCtrlForm(); 
public TestCtrlSubForm _subform = new TestCtrlSubForm(); 
 
// this demo for enumerates system profiles and displays profile info 
 
public void SaveProfileExample() 
{ 
   ConvertCtrl convertctrl = _form.ConvertCtrl; 
   string inFile = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi"); 
 
   try 
   { 
      // create the profile manager 
      WMProfileManager manager = new WMProfileManager(); 
 
      // build a list of system profiles 
      BuildSystemProfileList(_subform.List); 
 
      // show the dialog 
      _subform.ShowDialog(_form); 
 
      int idx = _subform.List.SelectedIndex; 
 
      // load the selected profile 
      WMProfile profile = LoadSystemProfile(manager, idx); 
 
      // convert to string 
      string sprof = ProfileToString(manager, profile); 
 
      // display the string 
      if (profile.Version == WMT_Version.V8) 
      { 
         MessageBox.Show("Profile " 
                           + profile.Name 
                           + " Content: " 
                           + sprof 
                           + "This profile contains " 
                           + profile.StreamCount.ToString() 
                           + " streams and " 
                           + profile.MutualExclusionCount.ToString() 
                           + " mutex"); 
      } 
 
      // convert string to profile 
      profile = ProfileFromString(manager, sprof); 
 
      // dispose the manager 
      manager.Dispose(); 
 
      // set the result 
      _result = true; 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
 
   // we'll loop on the state and pump messages for this example. 
   // but you should not need to if running from a Windows Forms application. 
   while (convertctrl.State == ConvertState.Running) 
      Application.DoEvents(); 
} 
 
private void BuildSystemProfileList(ListBox lbSysProfiles) 
{ 
   // create the profile manager 
   WMProfileManager manager = new WMProfileManager(); 
   WMProfile profile; 
 
   // set the version to show Windows Media 8.0 system profiles 
   manager.SystemProfileVersion = WMT_Version.V8; 
 
   // walk the list of system profiles and add the name to the combo box 
   lbSysProfiles.Items.Clear(); 
 
   // enumerate the system profiles 
   for (int i = 0; i < manager.SystemProfileCount - 1; i++) 
   { 
      profile = manager.LoadSystemProfile(i); 
      lbSysProfiles.Items.Add(profile.Name); 
   } 
} 
 
private WMProfile LoadSystemProfile(WMProfileManager manager, int idx) 
{ 
   // set the version to load Windows Media 8.0 system profiles 
   manager.SystemProfileVersion = WMT_Version.V8; 
 
   // load the specified profile 
   return manager.LoadSystemProfile(idx); 
} 
 
private string ProfileToString(WMProfileManager manager, WMProfile profile) 
{ 
   // convert the profile to string 
   return manager.SaveProfile(profile); 
} 
 
private WMProfile ProfileFromString(WMProfileManager manager, string profilestr) 
{ 
   // load profile from string data 
   return manager.LoadProfileByData(profilestr); 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media"; 
} 
Imports Leadtools 
Imports Leadtools.Multimedia 
Imports LeadtoolsMultimediaExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As ConvertCtrlForm = New ConvertCtrlForm() 
Public _subform As TestCtrlSubForm = New TestCtrlSubForm() 
 
' this demo for enumerates system profiles and displays profile info 
 
Public Sub SaveProfileExample() 
   Dim convertctrl As ConvertCtrl = _form.ConvertCtrl 
   Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi") 
 
   Try 
      ' create the profile manager 
      Dim manager As WMProfileManager = New WMProfileManager() 
 
      ' build a list of system profiles 
      BuildSystemProfileList(_subform.List) 
 
      ' show the dialog 
      _subform.ShowDialog(_form) 
 
      Dim idx As Integer = _subform.List.SelectedIndex 
 
      ' load the selected profile 
      Dim profile As WMProfile = LoadSystemProfile(manager, idx) 
 
      ' convert to string 
      Dim sprof As String = ProfileToString(manager, profile) 
 
      ' display the string 
      If profile.Version = WMT_Version.V8 Then 
         MessageBox.Show("Profile " _ 
                         & profile.Name _ 
                         & " Content: " _ 
                         & sprof _ 
                         & "This profile contains " _ 
                         & profile.StreamCount.ToString() _ 
                         & " streams and " _ 
                         & profile.MutualExclusionCount.ToString() _ 
                         & " mutex") 
      End If 
 
      ' convert string to profile 
      profile = ProfileFromString(manager, sprof) 
 
      ' dispose the manager 
      manager.Dispose() 
 
      ' set the result 
      _result = True 
   Catch e1 As Exception 
      _result = False 
   End Try 
 
   ' we'll loop on the state and pump messages for this example. 
   ' but you should not need to if running from a Windows Forms application. 
   Do While convertctrl.State = ConvertState.Running 
      Application.DoEvents() 
   Loop 
End Sub 
 
Private Sub BuildSystemProfileList(ByVal lbSysProfiles As ListBox) 
   ' create the profile manager 
   Dim manager As WMProfileManager = New WMProfileManager() 
   Dim profile As WMProfile 
 
   ' set the version to show Windows Media 8.0 system profiles 
   manager.SystemProfileVersion = WMT_Version.V8 
 
   ' walk the list of system profiles and add the name to the combo box 
   lbSysProfiles.Items.Clear() 
 
   ' enumerate the system profiles 
   Dim i As Integer = 0 
   Do While i < manager.SystemProfileCount - 1 
      profile = manager.LoadSystemProfile(i) 
      lbSysProfiles.Items.Add(profile.Name) 
      i += 1 
   Loop 
End Sub 
 
Private Function LoadSystemProfile(ByVal manager As WMProfileManager, ByVal idx As Integer) As WMProfile 
   ' set the version to load Windows Media 8.0 system profiles 
   manager.SystemProfileVersion = WMT_Version.V8 
 
   ' load the specified profile 
   Return manager.LoadSystemProfile(idx) 
End Function 
 
Private Function ProfileToString(ByVal manager As WMProfileManager, ByVal profile As WMProfile) As String 
   ' convert the profile to string 
   Return manager.SaveProfile(profile) 
End Function 
 
Private Function ProfileFromString(ByVal manager As WMProfileManager, ByVal profilestr As String) As WMProfile 
   ' load profile from string data 
   Return manager.LoadProfileByData(profilestr) 
End Function 
 
Public NotInheritable Class LEAD_VARS 
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media" 
End Class 
Requirements

Target Platforms

Help Version 20.0.2019.11.25
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Multimedia Assembly