Leaked source code of windows server 2003
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.
|
|
//+----------------------------------------------------------------------------
//
// File: processcmdln.h
//
// Module: CMSETUP.LIB
//
// Synopsis: Definition of the CProcessCmdLn class.
//
// Copyright (c) 1998 Microsoft Corporation
//
// Author: quintinb Created Header 08/19/99
//
//+----------------------------------------------------------------------------
#ifndef _CM_PROCESSCMDLN_H_
#define _CM_PROCESSCMDLN_H_
#include <windows.h>
#include "cfilename.h"
#include "mutex.h"
//
// Command Line struct for storing cmd line flags
//
typedef struct _ArgStruct { TCHAR* pszArgString; DWORD dwFlagModifier; } ArgStruct;
//
// Command Line State enumeration taken from Icm.h
//
typedef enum _CMDLN_STATE { CS_END_SPACE, // done handling a space
CS_BEGIN_QUOTE, // we've encountered a begin quote
CS_END_QUOTE, // we've encountered a end quote
CS_CHAR, // we're scanning chars
CS_DONE } CMDLN_STATE;
class CProcessCmdLn {
public: CProcessCmdLn(UINT NumSwitches, ArgStruct* pArrayOfArgStructs, BOOL bSkipFirstToken, BOOL bBlankCmdLnOkay); ~CProcessCmdLn();
BOOL GetCmdLineArgs(IN LPTSTR pszCmdln, OUT LPDWORD pdwFlags, OUT LPTSTR pszPath, UINT uPathStrLimit);
private: UINT m_NumSwitches; BOOL m_bSkipFirstToken; BOOL m_bBlankCmdLnOkay; ArgStruct* m_CommandLineSwitches;
BOOL IsValidSwitch(LPCTSTR pszSwitch, LPDWORD pdwFlags); BOOL IsValidFilePath(LPCTSTR pszFile); BOOL EnsureFullFilePath(LPTSTR pszFile, UINT uNumChars); BOOL CheckIfValidSwitchOrPath(LPCTSTR pszToken, LPDWORD pdwFlags, BOOL* pbFoundPath, LPTSTR pszPath); };
#endif //_CM_PROCESSCMDLN_H_
|