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.
|
|
//---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1997.
//
// File: parse.cxx
//
// Contents: Parser Object
//
// History:
//----------------------------------------------------------------------------
#define MAX_TOKEN_LENGTH MAX_PATH+1
#define MAX_KEYWORDS 4
typedef struct _kwdlist { DWORD dwTokenId; LPWSTR Keyword; } KWDLIST, *PKWDLIST;
class FAR CLexer { public: CLexer(LPWSTR szBuffer); ~CLexer();
BOOL CLexer::IsKeyword(LPWSTR szToken, LPDWORD pdwToken);
WCHAR CLexer::NextChar();
void CLexer::PushbackChar();
HRESULT CLexer::GetNextToken(LPWSTR szToken, LPDWORD pdwToken);
HRESULT CLexer::PushBackToken();
void CLexer::SetAtDisabler(BOOL bFlag);
BOOL CLexer::GetAtDisabler();
private:
LPWSTR _ptr; LPWSTR _Buffer; DWORD _dwLastTokenLength; DWORD _dwLastToken; DWORD _dwEndofString; BOOL _bAtDisabled;
};
HRESULT ADsObject(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
HRESULT IISObject(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
HRESULT PathName(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
HRESULT Component(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
HRESULT Type(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
HRESULT ProviderName(CLexer * pTokenizer, POBJECTINFO pObjectInfo);
HRESULT AddTreeName(POBJECTINFO pObjectInfo, LPWSTR szToken);
HRESULT AddClassName(POBJECTINFO pObjectInfo, LPWSTR szToken);
HRESULT SetType(POBJECTINFO pObjectInfo, DWORD dwToken);
|