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.
|
|
#pragma once
extern "C" { #include <shimdb.h>
}
#include "tstr.hxx"
struct sExtensionItem { TSTR strName; BOOL bExists; sExtensionItem *pNext; };
class CExtensionList { private: DWORD m_dwNumberofItems; sExtensionItem *m_pRoot; BOOL m_bUseIndicatorFile; BOOL m_bIndicatorFileExists;
sExtensionItem *RetrieveItem( DWORD dwIndex ); public: CExtensionList(); ~CExtensionList();
BOOL AddItem( LPTSTR szPath, BOOL bExists ); DWORD QueryNumberofItems(); BOOL QueryItem( DWORD dwIndex, TSTR *pstrPath, LPBOOL pbExists); BOOL DoesAnItemExist(); BOOL SetIndicatorFile( LPTSTR szIndicatorFile ); };
BOOL ProcessIISShims(); BOOL ProcessAppCompatDB( PDB hCompatDB ); BOOL ProcessExeTag( PDB hCompatDB, TAGID tagExe ); BOOL ProcessShimTag( PDB hCompatDB, TAGID tagShim ); BOOL GetBasePath( TSTR_PATH *pstrBasePath, PDB hCompatDB, TAGID tagShim ); BOOL GetBasePathFromRegistry( TSTR_PATH *pstrBasePath, TSTR &strFullRegPath ); BOOL RetrieveRegistryString( TSTR_PATH *pstrValue, TSTR &strRegBase, TSTR &strRegPath, TSTR &strRegName ); BOOL BuildExtensionList( PDB hCompatDB, TAGID tagShim, LPTSTR szBasePath, CExtensionList *pExtensions ); BOOL InstallAppInMB( PDB hCompatDB, TAGID tagShim, CExtensionList &ExtensionList ); BOOL IsIISShim( PDB hCompatDB, TAGID tagCurrentTag ); BOOL GetValueFromName( TSTR *pstrValue, PDB hCompatDB, TAGID tagData, LPCTSTR szTagName );
|