Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
3.3 KiB

  1. /*++
  2. Copyright (C) 1992-2001 Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. rasdiag_p.h
  5. Abstract:
  6. Principle interface to RASDIAG
  7. Author:
  8. Anthony Leibovitz (tonyle) 04-23-2001
  9. Revision History:
  10. --*/
  11. #ifndef _RASDIAG_P_H_
  12. #define _RASDIAG_P_H_
  13. #ifndef _RASDIAG_H_
  14. #include "rasdiag.h"
  15. #endif //_RASDIAG_H_
  16. #define RASDIAG_MAJOR_VERSION 8
  17. #define RASDIAG_MINOR_VERSION 1
  18. //
  19. // StartRasDiag
  20. //
  21. // BOOL StartRasDiag(OUT PRASDIAGCONFIG *ppRdc, IN DWORD dwOptions);
  22. //
  23. // Parameters
  24. //
  25. // ppRdc
  26. // [OUT] Pointer to a PRASDIAGCONFIG.
  27. //
  28. // DWORD
  29. // [IN] DWORD bitmask consisting of one or more of the following:
  30. //
  31. // OPTION_DOREMOTESNIFF = Attempt to start a remote sniff with RSNIFF
  32. //
  33. // OPTION_DONETTESTS = Attempt network tests (currently, there are no net tests defined
  34. // b/c we don't know the context - Possible enhancement with NLA
  35. //
  36. // Return Value
  37. //
  38. // BOOL - Indicates success (TRUE) or failure (FALSE)
  39. //
  40. // Remarks
  41. //
  42. // Use this function to initialize rasdiag and begin the data collection process.
  43. //
  44. BOOL
  45. StartRasDiag(OUT PRASDIAGCONFIG *ppRdc, IN DWORD dwOptions);
  46. //
  47. // StopRasDiag
  48. //
  49. // BOOL StopRasDiag(IN PRASDIAGCONFIG pRdc);
  50. //
  51. // Parameters
  52. //
  53. // pRdc
  54. // [IN] Pointer to RASDIAGCONFIG structure created by StartRasDiag. On return, this pointer will point
  55. // to a RASDIAGCONFIG structure.
  56. //
  57. // Return Value
  58. //
  59. // BOOL - Indicates success (TRUE) or failure (FALSE)
  60. //
  61. // Remarks
  62. //
  63. // Use this function to cease data collection process. Captures, RASDIAG log and
  64. // compsite RDG file will be located in the RASDIAG directory. To obtain this
  65. // directory, call GetRasDiagDirectory().
  66. //
  67. BOOL
  68. StopRasDiag(IN PRASDIAGCONFIG pRdc);
  69. //
  70. // GetRasDiagDirectory
  71. //
  72. // WCHAR *
  73. // GetRasDiagDirectory(IN OUT WCHAR *pszRasDiagDirectory);
  74. //
  75. // Parameters
  76. //
  77. // pszRasDiagDirectory
  78. // [IN/OUT] Pointer to a user-supplied buffer of MAX_PATH+1.
  79. //
  80. // Return Value
  81. //
  82. // WCHAR * - The function returns a pointer to pszRasDiagDirectory
  83. //
  84. // Remarks
  85. //
  86. // Use this function to obtain the RASDIAG path.
  87. //
  88. WCHAR *
  89. GetRasDiagDirectory(IN OUT WCHAR *pszRasDiagDirectory);
  90. //
  91. // CrackRasDiagFile
  92. //
  93. // BOOL CrackRasDiagFile(IN WCHAR *pszRdgFile, OPTIONAL IN WCHAR *pszDestinationPath);
  94. //
  95. // Parameters
  96. //
  97. // pszRdgFile
  98. // [IN] Pointer to a valid composite RASDIAG file(.RDG)
  99. //
  100. // pszDestinationPath
  101. // [OPTIONAL IN] Pointer to UNICODE string specifying the output
  102. // path for the output files (ie., L"C:" or L"C:\\MyStuff").
  103. // To use the default path (current directory), specific NULL.
  104. //
  105. // Return Value
  106. //
  107. // BOOL - Indicates success (TRUE) or failure (FALSE)
  108. //
  109. // Remarks
  110. //
  111. // Function unpackages NETMON captures files, rasdiag log, etc.
  112. BOOL
  113. CrackRasDiagFile(IN WCHAR *pszRdgFile, OPTIONAL IN WCHAR *pszDestinationPath);
  114. //
  115. // Misc Notes
  116. //
  117. // RSNIFF
  118. //
  119. // RSNIFF is disabled by default - define BUILD_RSNIFF in sources to build this feature.
  120. //
  121. #endif //_RASDIAG_P_H_