DDC.ObjectManagement.cs 5.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.Runtime.InteropServices;
  3. using TDMS.Common;
  4. namespace TDMS.Externals
  5. {
  6. internal partial class DDC : DIAdemConnectivity
  7. {
  8. /// <summary>
  9. /// 创建一个新的TDMS文件。<br />
  10. /// 推荐使用最新版本的TDM流文件格式(DDC_FILE_TYPE_TDM_STREAMING)创建.tdms文件。<br />
  11. /// 注意:如果您在filePath参数中指定的文件扩展名是.tdm或.tdms,那么您可以传递NULL或空字符串来自动使用文件扩展名来指定文件类型。<br />
  12. /// 但是如果指定了文件类型,那么必须和filePath参数指定的文件扩展名是匹配的。<br />
  13. /// 通过传递DDC_FILE_TYPE_TDM来创建一个.tdm文件。通过传递DDC_FILE_TYPE_TDMS来创建.tdms文件。
  14. /// </summary>
  15. /// <param name="filePath">文件路径</param>
  16. /// <param name="fileType">
  17. /// 要创建的文件类型。<br />
  18. /// 传递DDC_FILE_TYPE_TDM_STREAMING将使用安装支持的最新版本的TDM流文件格式创建一个.tdms文件。<br />
  19. /// 通过传递DDC_FILE_TYPE_TDM来创建一个.tdm文件。通过传递DDC_FILE_TYPE_TDMS来创建.tdms文件。<br />
  20. /// 如果您在filePath参数中指定的文件扩展名是.tdm或.tdms,那么您可以传递NULL或空字符串来自动使用文件扩展名来指定文件类型。
  21. /// </param>
  22. /// <param name="name">TDMS文件中的name属性</param>
  23. /// <param name="description">TDMS文件中的description属性</param>
  24. /// <param name="title">TDMS文件中的title属性</param>
  25. /// <param name="author">TDMS文件中的author属性</param>
  26. /// <param name="file">TDMS文件的句柄</param>
  27. /// <returns></returns>
  28. [DllImport(DLL, EntryPoint = "DDC_CreateFile", CallingConvention = CallingConvention.StdCall)]
  29. public static extern Error CreateFile(string filePath,
  30. string fileType,
  31. string name,
  32. string description,
  33. string title,
  34. string author,
  35. out IntPtr file);
  36. [DllImport(DLL, EntryPoint = "DDC_AddChannelGroup", CallingConvention = CallingConvention.StdCall)]
  37. public static extern Error AddChannelGroup(IntPtr file,
  38. string name,
  39. string description,
  40. out IntPtr channelGroup);
  41. [DllImport(DLL, EntryPoint = "DDC_AddChannel", CallingConvention = CallingConvention.StdCall)]
  42. public static extern Error AddChannel(IntPtr channelGroup,
  43. TDMSDataType dataType,
  44. string name,
  45. string description,
  46. string unitString,
  47. out IntPtr channel);
  48. [DllImport(DLL, EntryPoint = "DDC_SaveFile", CallingConvention = CallingConvention.StdCall)]
  49. public static extern Error SaveFile(IntPtr file);
  50. [DllImport(DLL, EntryPoint = "DDC_CloseFile", CallingConvention = CallingConvention.StdCall)]
  51. public static extern Error CloseFile(IntPtr file);
  52. /// <summary>
  53. /// 打开现有TDMS数据文件。
  54. /// </summary>
  55. /// <param name="filePath">打开文件的路径。如果不传递绝对路径名,则路径名是相对于当前工作目录。</param>
  56. /// <param name="fileType">要打开的文件类型。通过TDM打开. TDM文件。通过TDMS打开. TDMS文件。如果在filePath参数中指定的文件扩展名是.tdm或.tdms,那么可以传递NULL或空字符串来自动使用文件扩展名来指定文件类型。</param>
  57. /// <param name="readOnly">
  58. /// 文件句柄的只读标记<br/>
  59. /// - 指定一个非零值以只允许读访问;<br/>
  60. /// - 指定0以允许对文件进行读写访问。
  61. /// </param>
  62. /// <param name="file">输出TDMS数据文件</param>
  63. [DllImport(DLL, EntryPoint = "DDC_OpenFileEx", CallingConvention = CallingConvention.StdCall)]
  64. public static extern Error OpenFile(string filePath,
  65. string fileType,
  66. bool readOnly,
  67. out IntPtr file);
  68. /// <summary>
  69. /// 打开现有TDMS数据文件。
  70. /// </summary>
  71. /// <param name="filePath">打开文件的路径。如果不传递绝对路径名,则路径名是相对于当前工作目录。</param>
  72. /// <param name="fileType">要打开的文件类型。通过TDM打开. TDM文件。通过TDMS打开. TDMS文件。如果在filePath参数中指定的文件扩展名是.tdm或.tdms,那么可以传递NULL或空字符串来自动使用文件扩展名来指定文件类型。</param>
  73. /// <param name="file">输出TDMS数据文件</param>
  74. [DllImport(DLL, CallingConvention = CallingConvention.StdCall, EntryPoint = "DDC_OpenFile")]
  75. public static extern Error OpenFile(string filePath, string fileType, out IntPtr file);
  76. }
  77. }