windows-nt/Source/XPSP1/NT/sdktools/rasdiag/common/rasdiag_p.h
2020-09-26 16:20:57 +08:00

144 lines
3.3 KiB
C

/*++
Copyright (C) 1992-2001 Microsoft Corporation. All rights reserved.
Module Name:
rasdiag_p.h
Abstract:
Principle interface to RASDIAG
Author:
Anthony Leibovitz (tonyle) 04-23-2001
Revision History:
--*/
#ifndef _RASDIAG_P_H_
#define _RASDIAG_P_H_
#ifndef _RASDIAG_H_
#include "rasdiag.h"
#endif //_RASDIAG_H_
#define RASDIAG_MAJOR_VERSION 8
#define RASDIAG_MINOR_VERSION 1
//
// StartRasDiag
//
// BOOL StartRasDiag(OUT PRASDIAGCONFIG *ppRdc, IN DWORD dwOptions);
//
// Parameters
//
// ppRdc
// [OUT] Pointer to a PRASDIAGCONFIG.
//
// DWORD
// [IN] DWORD bitmask consisting of one or more of the following:
//
// OPTION_DOREMOTESNIFF = Attempt to start a remote sniff with RSNIFF
//
// OPTION_DONETTESTS = Attempt network tests (currently, there are no net tests defined
// b/c we don't know the context - Possible enhancement with NLA
//
// Return Value
//
// BOOL - Indicates success (TRUE) or failure (FALSE)
//
// Remarks
//
// Use this function to initialize rasdiag and begin the data collection process.
//
BOOL
StartRasDiag(OUT PRASDIAGCONFIG *ppRdc, IN DWORD dwOptions);
//
// StopRasDiag
//
// BOOL StopRasDiag(IN PRASDIAGCONFIG pRdc);
//
// Parameters
//
// pRdc
// [IN] Pointer to RASDIAGCONFIG structure created by StartRasDiag. On return, this pointer will point
// to a RASDIAGCONFIG structure.
//
// Return Value
//
// BOOL - Indicates success (TRUE) or failure (FALSE)
//
// Remarks
//
// Use this function to cease data collection process. Captures, RASDIAG log and
// compsite RDG file will be located in the RASDIAG directory. To obtain this
// directory, call GetRasDiagDirectory().
//
BOOL
StopRasDiag(IN PRASDIAGCONFIG pRdc);
//
// GetRasDiagDirectory
//
// WCHAR *
// GetRasDiagDirectory(IN OUT WCHAR *pszRasDiagDirectory);
//
// Parameters
//
// pszRasDiagDirectory
// [IN/OUT] Pointer to a user-supplied buffer of MAX_PATH+1.
//
// Return Value
//
// WCHAR * - The function returns a pointer to pszRasDiagDirectory
//
// Remarks
//
// Use this function to obtain the RASDIAG path.
//
WCHAR *
GetRasDiagDirectory(IN OUT WCHAR *pszRasDiagDirectory);
//
// CrackRasDiagFile
//
// BOOL CrackRasDiagFile(IN WCHAR *pszRdgFile, OPTIONAL IN WCHAR *pszDestinationPath);
//
// Parameters
//
// pszRdgFile
// [IN] Pointer to a valid composite RASDIAG file(.RDG)
//
// pszDestinationPath
// [OPTIONAL IN] Pointer to UNICODE string specifying the output
// path for the output files (ie., L"C:" or L"C:\\MyStuff").
// To use the default path (current directory), specific NULL.
//
// Return Value
//
// BOOL - Indicates success (TRUE) or failure (FALSE)
//
// Remarks
//
// Function unpackages NETMON captures files, rasdiag log, etc.
BOOL
CrackRasDiagFile(IN WCHAR *pszRdgFile, OPTIONAL IN WCHAR *pszDestinationPath);
//
// Misc Notes
//
// RSNIFF
//
// RSNIFF is disabled by default - define BUILD_RSNIFF in sources to build this feature.
//
#endif //_RASDIAG_P_H_