126 lines
4 KiB
C++
126 lines
4 KiB
C++
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1996-1998 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// ClusCfgCommands.h
|
|
//
|
|
// Abstract:
|
|
// This is the class definition file for the CClusCfgCommand and
|
|
// associated classes.
|
|
//
|
|
// Author:
|
|
// C. Brent Thomas
|
|
//
|
|
// Revision History:
|
|
// 30 Sep 1998 original
|
|
//
|
|
// Notes:
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __CLUSCFGCOMMANDS_H_
|
|
#define __CLUSCFGCOMMANDS_H_
|
|
|
|
// The members of the _CLUSCFG_COMMAND_IDS structure are the string IDs of
|
|
// two string resources. Member dwCommandStringId identifies a string resource
|
|
// that specifies the full text of a command that may be supplied to cluscfg.exe,
|
|
// either via a command line option or an entry in an answer file. Member
|
|
// dwSubStringId identifies a string resource that specifies the minimum substring
|
|
// that may be recognized as that command.
|
|
|
|
typedef struct _CLUSCFG_COMMAND_IDS
|
|
{
|
|
DWORD dwCommandStringId; // string Id of the full command
|
|
DWORD dwCommandSubStringId; // string Id of the minimum substring
|
|
int xNumRequiredParameters; // the number of parameters required by this command
|
|
int xNumOptionalParameters; // the number of optional parameters accepted by this command
|
|
} CLUSCFG_COMMAND_IDS;
|
|
|
|
// Objects of the CClusCfgCommand class are used to build a list of all of the
|
|
// legal commands that can be passed to ClusCfg.exe, either via a command line
|
|
// option or via entries in an answer file. The list is used to recognize the
|
|
// command keywords when parsing a command line or answer file entries.
|
|
|
|
class CClusCfgCommand
|
|
{
|
|
public:
|
|
CClusCfgCommand( void ); // default constructor
|
|
|
|
CClusCfgCommand( DWORD dwStringId, DWORD dwSubStringId );
|
|
|
|
~CClusCfgCommand( void ); // destructor
|
|
|
|
// Data members
|
|
|
|
private:
|
|
CClusCfgCommand * m_pNextCommand;
|
|
|
|
DWORD m_dwCommandStringId;
|
|
|
|
LPTSTR m_ptszCommandString;
|
|
|
|
DWORD m_dwCommandSubStringId;
|
|
|
|
LPTSTR m_ptszCommandSubString;
|
|
|
|
int m_xNumRequiredParameters;
|
|
|
|
int m_xNumOptionalParameters;
|
|
|
|
|
|
// Member functions
|
|
|
|
public:
|
|
BOOL BuildClusCfgCommandList( HINSTANCE hInstance,
|
|
CLUSCFG_COMMAND_IDS * pClusCfgCommandIds );
|
|
|
|
BOOL RecognizeCommandToken( LPCTSTR ptszToken,
|
|
CClusCfgCommand * pClusCfgCommandList );
|
|
|
|
int GetNumRequiredParameters( void );
|
|
|
|
int GetNumOptionalParameters( void );
|
|
|
|
void Reset( void );
|
|
|
|
DWORD GetCommandStringId( void );
|
|
|
|
DWORD GetCommandSubStringId( void );
|
|
|
|
BOOL SetCommandStringPointer( LPTSTR pAddress );
|
|
|
|
BOOL SetCommandSubStringPointer( LPTSTR pAddress );
|
|
|
|
private:
|
|
BOOL InitializeCommandString( HINSTANCE hInstance, DWORD dwStringId );
|
|
|
|
BOOL InitializeCommandString( HINSTANCE hInstance );
|
|
|
|
BOOL InitializeCommandSubString( HINSTANCE hInstance, DWORD dwSubStringId );
|
|
|
|
BOOL InitializeCommandSubString( HINSTANCE hInstance );
|
|
|
|
LPTSTR GetCommandString( void );
|
|
|
|
LPTSTR GetCommandSubString( void );
|
|
|
|
BOOL SetNextCommandPointer( CClusCfgCommand * pNextCommand );
|
|
|
|
CClusCfgCommand * GetNextCommandPointer( void );
|
|
|
|
void SetNumRequiredParameters( int xNumRequiredParameters );
|
|
|
|
void SetNumOptionalParameters( int xNumOptionalParameters );
|
|
|
|
BOOL SetCommandStringId( DWORD dwCommandStringId );
|
|
|
|
BOOL SetCommandSubStringId( DWORD dwCommandStringId );
|
|
|
|
LPTSTR GetCommandStringPointer( void );
|
|
|
|
LPTSTR GetCommandSubStringPointer( void );
|
|
};
|
|
#endif // __CLUSCFGCOMMANDS_H_
|